数组循环删除另外一个数组的内容!!注意事项

var mm=[1,2,3,4,5,6,7,8];数组

var nn=[2,3,4,5,6,7];spa

//被删除数组写在外层ci

nn.forEach(function(item,index){it

    mm.forEach(function(citem,cindex){io

        if(item==citem){console

            mm.splice(cindex,1)function

        }循环

    })数据

});co

console.log(mm);===========》 [1, 8](正确值)

 

=====错误写法(被删除项写在内层)========================

mm.forEach(function(item,index){

    nn.forEach(function(citem,cindex){

        if(item==citem){

            mm.splice(index,1)

        }

    })

});

由于数组的长度被改变了,外层循环的index值没变致使的有些数据没有循环到

console.log(mm);========》错误结果[1, 3, 5, 7, 8]

相关文章
相关标签/搜索