我有一个数组 as ,我需要删除空值并用零替换它。
我已经做到了这么多。当我检查数组长度为 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]
Run Code Online (Sandbox Code Playgroud)
// 试过这种方法没有用
a.map(o => o !== null ? o : 0)
Run Code Online (Sandbox Code Playgroud)
一种方法是使用Array.from,它遍历length数组从 0 到 的每个元素(不像map,它只遍历数组中实际存在的属性)
var a = [];
a[3] = 5
a[5] = 15
a = Array.from(a, item => item || 0);
console.log(a);Run Code Online (Sandbox Code Playgroud)
如果数组中可能存在不希望被替换为 0 的非零假值,则可以进行typeof检查:
var a = [];
a[3] = 5
a[2] = null;
a[5] = 15
a = Array.from(a, item => typeof item === 'undefined' ? 0 : item);
console.log(a);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6418 次 |
| 最近记录: |