这是一个基本问题,但我只是对做某事的优雅方式感到好奇(我已经有了肮脏方式的解决方案)。我有下面的代码以空 vara
作为 JSON 数组开始。然后我想concat
稍后将更多 JSON 对象数组放入其中:
var a = [{}];
a = a.concat([{"a":"b1"},{"a":"b2"}]);
a.splice(0,1); // This does not work to remove index 0 of undefined
console.log(a[0].a + " " + a[1].a + " " + a[2].a);
问题是在a
声明时,它已经出现undefined
在索引 0中。我可以重新生成整个数组以删除所有undefined
使用push.apply()
,但这似乎是不必要的开销。看:
Javascript:如何根据项目属性值删除数组项目(JSON 对象)?
两个问题:
- 有没有办法
concat
数组但覆盖初始索引 0concat
? concat
或者有没有不声明的方式使用它a = [{}]
?