2016-12-24 86 views

回答

0

避免刪除/改變內部的數組的元素的索引循環。這是因爲當您執行.splice()時,陣列正在被重新編制索引,這意味着您將在刪除索引時跳過索引,

您可以過濾掉元素並獲得符合條件的新數組

var array = [ 
'[email protected]', 
'www.hello.com', 
'[email protected]']; 
var newArray = array.filter(function(item){ 
    return item.indexOf('@') ==-1 
}) 
console.log(newArray) 

DEMO

1
array.forEach(function(element, key) { 
    if (element.indexOf('@') !== -1) { 
     array.splice(key, 1); 
    } 
}); 
+0

我正要提交類似的答​​案:)反正做得好。 – Codesingh

0

還可以循環輸入數組和推匹配到輸出陣列

var array = [ 
 
'[email protected]', 
 
'www.hello.com', 
 
'[email protected]']; 
 
var newArray = []; 
 
array.forEach(x => { 
 
    if(x.indexOf('@') === -1) 
 
    newArray.push(x); 
 
}); 
 
console.log(newArray)
該元素

相關問題