开发者社区> 问答> 正文

浏览数组(A)中的所有项目,并检查其是否已存在于另一个数组(B)中

我有两个数组(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语句。

他们还有其他方法可以达到我在这里要做的事情吗?

展开
收起
游客ufivfoddcd53c 2020-01-04 15:14:02 849 0
1 条回答
写回答
取消 提交回答
  • 不需要嵌套循环即可实现此目的。

    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")
             }
       }
    
    2020-01-04 15:14:18
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载