我正在把头发拉到这个上面。我有两个数组likes
& dislikes
,每个都填充了大约 50 个字符串。
我还有一个 JSON 对象,data.results
它包含大约 50 个对象,每个对象都有一个_id
参数。
我正在尝试检查是否在其中的所有对象data.results
都不在和likes
中dislikes
。
这是我目前的代码:
var newResults = []
for(var i = 0; i<data.results.length; i++){
for(var x = 0; x<likes.length; x++){
if(!(data.results[i]._id == likes[x])){
for(var y = 0; y<dislikes.length; y++){
if(!(data.results[i]._id == dislikes[y])){
newResults.push(data.results[i]);
console.log("pushed " + data.results[i]._id);
}
else
{
console.log("They already HATE " + data.results[i]._id + " foo!"); //temp
}
}
}
else
{
console.log(data.results[i]._id + " is already liked!"); //temp
}
}
}
如您所见,我正在遍历所有data.results
对象。然后我检查他们_id
是否在likes
. 如果不是,我检查它是否在dislikes
. 然后,如果仍然没有,我将其推送到newResults
.
正如您通过查看它所期望的那样,此代码当前每次迭代都会将结果推送到我的数组中,因此我最终得到了一个包含 600 个对象的庞大数组。
实现这一目标的好方法是什么?