【发布时间】:2019-11-26 15:25:41
【问题描述】:
我想从数组中删除具有虚假值的元素,但我的代码不是这样的。我想知道为什么我的代码不起作用。这是代码
let g= [7, null, "ate", "", false, true, 9];
g.forEach((cur,ind,arr) => {
if (!cur) {
arr.splice(ind,1);
}
});
console.log(g);
这是输出
[7, "ate", false, true, 9]
【问题讨论】:
-
在迭代时修改数组是……很奇怪。只需
g = g.filter(i => i)即可。 -
您更改了数组,但
forEach仍然知道旧值/索引。
标签: javascript