Javascript 将数组中的空值替换为零值

Javascript 将数组中的空值替换为零值,javascript,Javascript,我有一个数组,我需要删除空值并用零替换它 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] 我已经取得了很大的成就。当我检查时,数组长度是8,但它只显示2个元素。用零替换它的最佳方法是什么 var a = []; a[3] = 5

我有一个数组,我需要删除空值并用零替换它

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]
我已经取得了很大的成就。当我检查时,数组长度是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到数组
长度的每个元素(不同于
map
,它只迭代数组中实际存在的属性)

var a=[];
a[3]=5
a[5]=15
a=数组。从(a,item=>item | | 0);
控制台日志(a)你可以试试这个

var a=[];
a[3]=5
a[2]=null
a[5]=15
对于(var i=0;i控制台日志(a)您可以使用此函数执行此操作,并设置要替换为0、”或null的值

function replaceEmptyWith(arr,val) {
  var _arr = [];
  if (arr && arr.length > 0) {
    for (var i = 0; i < arr.length; i++) {
      if (arr[i] === undefined) _arr[i] = val;
      else _arr[i] = arr[i];
    }
    return _arr;
  }
  return arr;
}

var a = [];

a[3] = 5

a[5] = 15

a = replaceEmptyWith(a,0);
函数replaceEmptyWith(arr,val){
var_arr=[];
如果(arr&&arr.length>0){
对于(变量i=0;i

我还发现,这可能会帮助您

map
不起作用,因为它只迭代现有属性,而
Array.from
迭代所有属性