在Javascript中用null填充缺失索引值的最佳方法

在Javascript中用null填充缺失索引值的最佳方法,javascript,arrays,lodash,Javascript,Arrays,Lodash,我有一个数组,它缺少一些索引的值,你能建议用null或0填充它们的最佳方法吗?我在lodash中尝试了可能的方法,但似乎没有任何效果 下面是一个问题,没有任何帮助 我的数组的console.log的输出低于 [52892046010860,'189','D2989','-'] 我想把这个填成什么 [5289,null,20460,10860,'189','D2989',null,null,null,'-']既然您已经解决了问题: @Coldark,@DaveNewton,@Nick Par

我有一个数组,它缺少一些索引的值,你能建议用null或0填充它们的最佳方法吗?我在lodash中尝试了可能的方法,但似乎没有任何效果

下面是一个问题,没有任何帮助

我的数组的console.log的输出低于

[52892046010860,'189','D2989','-']

我想把这个填成什么


[5289,null,20460,10860,'189','D2989',null,null,null,'-']
既然您已经解决了问题:

@Coldark,@DaveNewton,@Nick Parsons谢谢你的时间,我解决了

test.forEach(函数(o,索引){
var len=测试长度;
对于(变量i=0;i
如果有人来这里寻找类似问题的解决方案,我会说,你甚至可以做得很简单:

for (let i = 0; i < arr.length; i++) {
  if (!arr[i]) { // or arr[i] === undefined if your array may have other falsy values in it
    arr[i] = null;
  }
}
for(设i=0;i
删除数组值会导致空条目,即:

for (let i = 0; i < arr.length; i++) {
    delete arr[i];
}
for(设i=0;i
通常不应该使用,除非是故意的,而且我们完全意识到后果。空条目或不存在条目与任何“空”值(如
null
undefined
)之间的主要区别在于后者仍然可以通过索引访问


这已经解释得很清楚了

我认为最简单的方法是使用
数组

const arr=新数组(4);
arr[0]=5219;
控制台日志(arr)
常量arr|u fill=Array.from(arr,x=>x | | null);

控制台日志(arr_fill)扩展运算符可以将空转换为未定义:

const list=新数组(5);
列表[3]=“文本”;

log([…list])“某些索引缺少值”,这是否意味着它们“未定义”/“空”?或者它们是“空”插槽?为什么要查找Python解决方案?稀疏数组将在未初始化的索引处具有未定义的索引。真正的问题是什么?如果没有任何代码或上下文,就很难知道您真正想要的是什么。Javascript中不能有“缺失”的数组索引。索引始终从0开始,最大有效索引将由数组的长度确定。是否要在数组末尾添加更多元素,即填充其长度?请分享一个数组变量外观的最小示例。您读过这个吗?首先,
map
不会修改初始数组,它会返回一个新数组,除此之外,这不起作用,因为
map
只对具有索引的条目进行迭代<代码>未定义的
数组中的项有索引-它们与实际的空项不同。@Coldark我读错了。更新了我的答案。这真的很聪明,我确信这是正确的。
for (let i = 0; i < arr.length; i++) {
    delete arr[i];
}