數組循環刪除另外一個數組的內容!!注意事項

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]

相關文章
相關標籤/搜索