作爲每description of the Object.keys
on MDN:Object.keys(obj)是如何工作的?
Object.keys返回一個數組,其元素是對應於枚舉的屬性的字符串直接發現在對象。 屬性的排序與通過手動循環對象屬性的順序相同。
它包括下面的例子:
// array like object with random key ordering
var an_obj = { 100: "a", 2: "b", 7: "c"};
alert(Object.keys(an_obj)); // will alert "2, 7, 100"
但是作爲每定義,關鍵應印在它們已經被插入到對象的順序100, 2, 7
,代替2, 7, 100
。
請讓我知道,怎麼關鍵的排序中Object.key
發生。
您是否嘗試過 「遍歷手動對象的屬性」,以確認你的理論,你會得到他們按照'100,2,7'而不是'2,7,100'的順序? – ruakh
「根據定義」 - 什麼定義?上面的那個?它沒有提到插入順序。 –
與其他HashTable/Dictionary結構一樣,JavaScript對象的鍵是無序的。如果你想維護秩序,你需要使用一個數組或類似的結構。 –