我想從數組中刪除元素,如果它包含特定的值。如何刪除數組中的元素,如果它有特定的字符?
var array = [[email protected], www.hello.com, [email protected]];
我想刪除有@符號的al元素。當我提醒陣列時,我只需要www.hello.com。要做到這一點
我想從數組中刪除元素,如果它包含特定的值。如何刪除數組中的元素,如果它有特定的字符?
var array = [[email protected], www.hello.com, [email protected]];
我想刪除有@符號的al元素。當我提醒陣列時,我只需要www.hello.com。要做到這一點
避免刪除/改變內部的數組的元素的索引循環。這是因爲當您執行.splice()
時,陣列正在被重新編制索引,這意味着您將在刪除索引時跳過索引,
您可以過濾掉元素並獲得符合條件的新數組
var array = [
'[email protected]',
'www.hello.com',
'[email protected]'];
var newArray = array.filter(function(item){
return item.indexOf('@') ==-1
})
console.log(newArray)
array.forEach(function(element, key) {
if (element.indexOf('@') !== -1) {
array.splice(key, 1);
}
});
的一種方式是使用一個Regular Expression,用另一個陣列沿,像這樣:
var array = ['[email protected]', 'www.hello.com', '[email protected]'];
var array2 = [];
for (var i = 0; i < array.length; i++) {
if (!(/@/.test(array[i]))) {
array2.push(array[i]);
};
};
alert(array2);
還可以循環輸入數組和推匹配到輸出陣列
var array = [
'[email protected]',
'www.hello.com',
'[email protected]'];
var newArray = [];
array.forEach(x => {
if(x.indexOf('@') === -1)
newArray.push(x);
});
console.log(newArray)
我正要提交類似的答案:)反正做得好。 – Codesingh