[英]What are "non-existent property values" in ECMA spec for ARRAY:SORT
[英]Insert into array at non-existent index
我正在嘗試使用從數據庫中提取的數據在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 中的標准數組根本不是數組 ,它們只是具有某些特殊行為的對象。 數組“條目”只是對象屬性。 在JavaScript中,如果您分配給尚不存在的對象屬性,則會創建它。
如果你計划使用數組特征,你只需要一個數組,比如length
(在上面的例子中它將是13
;它總是比最高索引高一個,或者如果你直接指定length
,它就是你給它的值)或者splice
等。如果您不打算使用這些功能,您可以只使用一個對象( var a = {};
而不是var a = [];
)。 以上沒有其他變化。
不要使用數組這種方式-如果你有索引一個元素的9然后indicies然后0-8 將 有價值的 當你遍歷它時undefined
,這可能會非常混亂,特別是如果你試圖確定數組的長度。
您想要使用的是具有數字鍵的對象。
var x = {};
x.[id] = data;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.