我正在尝试使用从数据库中提取的数据在 javascript 中格式化数组,以便行的 ID 是数组的索引,因此数据
ID | Data
----------------------------
1 | hi
2 | more data
4 | junk data
8 | hello world
12 | h3ll0
看起来像
array:
[1] = hi
[2] = more data
[4] = junk data
[9] = hello world
[12] = h3ll0
我尝试过使用 array.splice(id,1,data)
但是当我 console.log 数组时,索引不匹配,几乎就像因为索引之前不存在一样它只是将值附加到数组的末尾。
所以我想知道如何在任何索引处向数组添加数据,以便我可以创建一个数组,如示例所示
最佳答案
信不信由你,你只是分配给它:
var a = []; // Creates array
a[1] = "hi";
a[2] = "more data";
a[4] = "junk data";
a[9] = "hello world";
a[12] = "h3ll0";
这是因为 JavaScript 中的标准数组 aren't really arrays at all ,它们只是具有某些特殊行为的对象。数组“条目”只是对象属性。在 JavaScript 中,如果您分配给一个尚不存在的对象属性,它就会被创建。
如果您打算使用数组特性,例如 length
(在上面的示例中为 13
;它总是比最高索引,或者如果你直接分配给 length
就是你给它的值),或者 splice
等。如果你不计划要使用这些功能,您可以只使用一个对象(var a = {};
而不是 var a = [];
)。以上没有任何变化。
关于javascript - 在不存在的索引处插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22850637/