我正在使用AngularJS中的一些以前的代碼,但我的問題涉及傳遞給視圖的對象的奇怪事件。我得到一個數組數組。但是,嵌套數組具有鍵值對。這在我的理解中沒有意義。JavaScript對象如何包含屬性(鍵值對)的數組(帶方括號)?
此外,我相信這是導致與我正在嘗試的自定義過濾器的問題。通用模型過濾器可以工作,但是在特定字段上過濾不會。我已經在jsfiddle中測試了這個概念,如果數據被格式化爲具有屬性的對象數組,但它試圖複製當前數據輸出錯誤的結構,因爲它不是有效的JavaScript,所以它工作正常。有人可以闡明我的困境嗎?
[Array[0], Array[0], Array[0]...]
0: Array[0]
$$hashKey: "00U"
firstGroupList: Object
length: 0
subTitle: "Capsules"
title: "Esomeprazole Strontium"
__proto__: Array[0]
1: Array[0]
$$hashKey: "01X"
firstGroupList: Object
length: 0
subTitle: "Tablets"
title: "Salsalate"
__proto__: Array[0]
2: Array[0]
3: Array[0]
4: Array[0]
...
[title: "title", subTitle: "subTitle"]
這樣的數組如何存在?
數組是對象。您可以像普通對象或函數或任何其他對象一樣向它們添加屬性。 '的console.log(列表[0] .subTitle); //「Capsules」'這不是數組的典型用法,但可以方便地保存其他數據。 –
由於@cookiemonster說數組是對象,所以在你的情況下,它們是具有對象屬性的空數組。 – MarcoL
關於你的其他代碼,如果有問題,你需要發佈一個包含一個最小例子的問題。但這不是無效的JavaScript。 –