我有一个解析后台作业,其中包含一个简单的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");
}
}
答案 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
}
}