【发布时间】:2016-11-22 02:11:15
【问题描述】:
我将从 URL 获取的数据添加到数组 crops。在此之后,我将在新数组 cropsSoFar 的帮助下检查重复的作物。
var crops=[];
for(int i=0; i<results.length;i++)
{
var terrains= results.features[i].attributes.Terrain_Id;
var rawDataOfTerrain=getjsondata("http://or.org");
var trsetdata= jQuery.parseJSON(tersetjson).d.results;
crops.push(trsetdata);
}
var cropsSoFar= [];
for(int i=0; i<crops.length;i++)
{
var crop= crops[i];
if(crop in cropsSoFar)
{
crops.pop(crop);
}
cropsSoFar.push(crops[i]);
}
if(crops.length!=1)
alert("Please select terrains with the same crop");
这是在 array 中搜索 string 的正确方法吗?如果是这样,有没有更简单的方法?如果没有,我哪里错了?
【问题讨论】:
-
如果 trsetdata 在字符串中,那么它只会检查一个元素。并且您正在检查 var cropSoFar= [];. 的空数组
-
不,
in运算符肯定是错误的方式。 -
你误解了数组
.pop()的用法,它不带参数,总是删除数组的最后一项。将corpsSoFar.push()移动到 if 语句中并将其更改为 not 应该就足够了,但最好在推送到第一个数组并跳过第二部分之前简单地检查一下。
标签: javascript jquery arrays for-loop duplicates