0

我有一个解析后台作业,其中包含一个类的简单 query.each。此类有 2 个 Arrays 字段,其中填充了 objects.ID。在此查询中,对于每个对象,我需要检查第一个数组的 objects.ID 是否包含在第二个数组中。基本上在一个简单的循环中:

    var j = 0;
    for (var j = 0; j < firstArray.length; j++) {
        if(firstArray[j] "isContainedIn" secondArray){
        // my custom code
        }
    }

我想不通的是要使用的功能,如果存在的话。javascript是否有这样的功能,或者我需要制作一个嵌套循环来实现我的目标?

编辑:我使用 indexOf 解决了这个问题,但是 Shqiptar 提出的解决方案不起作用,所以这里是一个真正有效的解决方案:

第一个数组名称 = usersEligibleToVote 第二个数组名称 = usersThatVoted

for (var j = 0; j < usersEligibleToVote.length; j++) {
        if(usersThatVoted.indexOf(usersEligibleToVote[j]) === -1){
            console.log("user.id "+usersEligibleToVote[j]+" needs to vote");
        } else {
            console.log("user.id "+usersEligibleToVote[j]+" has voted");
        }
}
4

2 回答 2

1
var j = 0;
    for (var j = 0; j < firstArray.length; j++) {
        if(firstArray[j].contains(secondArray))
        {
        // your custom code here
        }
    }

然后检查对象是否相同:

var j = 0;
    for (var j = 0; j < firstArray.length; j++) {
        if(firstArray[j].indexOf(secondArray) != -1) 
        {
        // your custom code here
        }
    }
于 2014-11-11T19:01:00.613 回答
0

我会通过一个简单的 jQuery 和 javascript for 循环来处理它,如下所示:

var arr1;
var arr2;
var i;
for(i = 0; i < arr1.length; i++) {
    if ($.inArray(arr1[i], arr2) {
        break; //do things here or what not
        }
}
于 2014-11-11T19:04:46.257 回答