我有一个名为"ids"的数组和一些像['0','567','956','0','34']的值.现在我需要从这个数组中删除"0"值.
ids.remove( "0"); 不管用.
请让我知道解决方案.
Har*_*Joy 14
在javascript中使用splice方法.试试这个功能:
function removeElement(arrayName,arrayElement)
{
for(var i=0; i<arrayName.length;i++ )
{
if(arrayName[i]==arrayElement)
arrayName.splice(i,1);
}
}
Run Code Online (Sandbox Code Playgroud)
参数是:
arrayName:- Name of the array.
arrayElement:- Element you want to remove from array
Run Code Online (Sandbox Code Playgroud)
jes*_*sal 12
这是一种方法:
['0','567','956','0','34'].filter(Number)
Run Code Online (Sandbox Code Playgroud)
Tim*_*own 10
这是一个函数,它将删除具有特定值的数组元素,当两个连续元素具有相同值时,该值不会失败:
function removeElementsWithValue(arr, val) {
var i = arr.length;
while (i--) {
if (arr[i] === val) {
arr.splice(i, 1);
}
}
return arr;
}
var a = [1, 0, 0, 1];
removeElementsWithValue(a, 0);
console.log(a); // [1, 1]
Run Code Online (Sandbox Code Playgroud)
在大多数浏览器中(IE <= 8除外),您可以使用filter()Array对象的方法,但要注意这确实会返回一个新数组:
a = a.filter(function(val) {
return val !== 0;
});
Run Code Online (Sandbox Code Playgroud)
小智 5
对于 ES6 最佳实践标准:
let a = ['0','567','956','0','34'];
a = a.filter(val => val !== "0");
Run Code Online (Sandbox Code Playgroud)
(请注意,您的“id”是数组内的字符串,因此要检查无论类型如何,您都应该编写“!=”)