查找数组是否包含用户

Find if Array contains a user

本文关键字:用户 包含 是否 数组 查找      更新时间:2023-09-26

我有一个解析后台作业,其中包含一个类的简单query.each。这个类有2个数组字段,其中填充了对象。ID。在这个查询中,对于每一个对象,我都需要检查对象是否存在。第一个数组的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");
        }
}
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
        }
    }

我会通过一个简单的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
        }
}