查找Array是否包含用户

时间:2014-11-11 18:57:03

标签: javascript arrays parse-platform cloud-code

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

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

我无法弄清楚的是要使用的功能,如果存在的话...... javascript有这样的功能还是我需要做一个嵌套循环来实现我的目标?

编辑:我使用indexOf解决了问题,但Shqiptar提出的解决方案并没有起作用,所以这里实际上是有效的:

第一个Array name = 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");
        }
}

2 个答案:

答案 0 :(得分: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
        }
    }

答案 1 :(得分: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
        }
}