我正在尝试使用从数据库中提取的数据在javascript中格式化数组,以便该行的ID是数组的索引,因此数据
ID | Data
----------------------------
1 | hi
2 | more data
4 | junk data
8 | hello world
12 | h3ll0
Run Code Online (Sandbox Code Playgroud)
看起来像
array:
[1] = hi
[2] = more data
[4] = junk data
[9] = hello world
[12] = h3ll0
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用array.splice(id,1,data)但是当我在console.log中索引不匹配的数组时,几乎就好像因为索引不存在之前它只是在数组的末尾附加了值.
所以我想知道如何在任何索引处向数组添加数据,以便我可以创建一个数组,如示例所示
T.J*_*der 14
信不信由你,你只需分配给它:
var a = []; // Creates array
a[1] = "hi";
a[2] = "more data";
a[4] = "junk data";
a[9] = "hello world";
a[12] = "h3ll0";
Run Code Online (Sandbox Code Playgroud)
这是因为JavaScript 中的标准数组根本不是数组,它们只是具有某些特殊行为的对象.数组"条目"只是对象属性.在JavaScript中,如果您分配给尚不存在的对象属性,则会创建它.
如果你计划使用数组特征,你只需要一个数组length(13如上例所示;它总是比最高索引高一个,或者如果你length直接指定它就是你给它的值),或者splice,如果您不打算使用这些功能,则可以使用对象(var a = {};而不是var a = [];).以上没有其他变化.