我有一个数组,我需要删除空值并将其替换为零。
我已经取得了这么多成就。当我检查数组长度为 8 但它只显示 2 个元素时。用零替换它的最佳方法是什么。
var a = [];
a[3] = 5
a[5] = 15
console.log(a.length) // 6
console.log(a) // [empty,empty,empty,5,empty,15]
how can i make the output as [0,0,0,5,0,15]
// 尝试了这个方法没有成功
a.map(o => o !== null ? o : 0)
一种方法是使用Array.from
,它迭代从 0 到length
数组的(不同于map
,它仅迭代数组上实际存在的属性)
var a = [];
a[3] = 5
a[5] = 15
a = Array.from(a, item => item || 0);
console.log(a);
如果数组中可能存在非零 falsey 值,并且您不想将其替换为 0,则可以执行以下操作typeof
check:
var a = [];
a[3] = 5
a[2] = null;
a[5] = 15
a = Array.from(a, item => typeof item === 'undefined' ? 0 : item);
console.log(a);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)