我有两个数组(arrayA&arrayB)。我想检查arrayB中是否已经存在所有arrayA中的项目。如果不是,我想将其添加到arrayB(但这不是问题)。在示例中,我只想console.log将项目添加到数组B中。
首先,我认为这是个好主意:
for(var i = 0; i < arrayA.length; i++){
for (var j = 0; j < arrayB.length; j++) {
if(body[i].id == res[j].name){
console.log("The article allready exsists")
}
else{
console.log("Adding item to arrayB")
}
}
}
然后我意识到这不是一个很好的方法,因为数组很大。同样,else语句将运行等于arrayA长度的次数。这也是一个问题,因为这将第一次运行arrayB的数组长度为零,甚至不会达到else语句。
他们还有其他方法可以达到我在这里要做的事情吗?
不需要嵌套循环即可实现此目的。
var arrayA = [1,2,3,4,5,6];
var arrayB = [2,4,7,8];
for(var i = 0; i < arrayA.length; i++){
if(arrayB.indexOf(arrayA[i]) > -1){
console.log("The article allready exsists");
}
else{
console.log("Adding item to arrayB")
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。