如何从JavaScript数组中删除空元素?
有没有简单直接的方法,还是必须手动循环并逐个删除?
如何从JavaScript数组中删除空元素?
有没有简单直接的方法,还是必须手动循环并逐个删除?
试试这个。将你的数组传递给它,它会返回删除空元素后的数组。*已更新以解决Jason指出的错误。
function removeEmptyElem(ary) {
for (var i = ary.length - 1; i >= 0; i--) {
if (ary[i] == undefined) {
ary.splice(i, 1);
}
}
return ary;
}
var a = [,,]
和var a = [undefined, undefined]
之间存在区别。前者是真正的空数组,而后者实际上有两个键,但值为undefined
。 - Alnitaknull
/undefined
是更好的实践。例如,如果你的null
来自于使用map
函数映射另一个数组时,对于某些元素返回null
,那么在运行map
之前尝试使用Array.filter
过滤掉这些元素。这样可以使你的代码更易读/自我记录。显然,这并不适用于每种情况,但它可以应用于很多情况。 - Luke Redmore