2016-02-19 53 views
0

我有對象數組,它看起來像加入JavaScript項對象

Object {0: "tariffs", 1: "tariffs_yes", 2: "tariffs_no"} 

從Chrome的控制檯

的開頭,我需要不印字這個數組,並添加{-1:「新項目」 }到數組的開頭。我不能使用array.unshift('newItem');array[-1] = 'new item...'增加項目陣列的頂部:

Object {0: "tariffs", 1: "tariffs_yes", 2: "tariffs_no", -1: "new item..."} 

我如何添加到開始?

+4

需要注意的是,根據規格,對象的按鍵沒有順序。爲什麼你不能使用數組? –

+1

如果'array.unshift()'沒有拋出錯誤,那麼你有一個對象,而不是一個數組 – baao

+0

,那麼顯示的數據並不是你正在處理的內容的真實表示。試圖在該對象上使用它會引發錯誤 – charlietfl

回答

0

,我需要不印字這個數組

這不是一個數組,它是一個對象。

添加{-1: 'new item'}到數組的開頭

對象不具有開始和結束;它們只是關鍵/值對的包。

您可以

object[-1] = "new item"; 
+1

我喜歡技術術語「包包」。 – Andy

0

您正在使用的對象,並把它當作一個數組添加你想要的屬性。根據definition of an Object from ECMAScript Third Edition (pdf)

4.3.3對象 對象是Object類型的成員。它是一個無序的屬性集合,每個屬性都包含一個原始值,對象或函數。存儲在對象屬性中的函數稱爲方法。

爲了能夠創建可排序的集合,請改用數組。