是否有可能使JavaScript對象成爲數組?也就是說,在保持其現有屬性的同時,像length
,push
,forEach
等那樣開始表現得像一個數組?我有一個模糊的想法,認爲這可能是通過重新分配原型來實現的,但有些嘗試通過反覆試驗來做到這一點並沒有產生任何結果。使對象成爲數組
Q
使對象成爲數組
0
A
回答
1
不,你不能。雖然你理論上可以(通過non-standard ways)重新分配原型,但它不會更改其內部的[[Class]]
並獲得魔法屬性。
而是嘗試將對象的所有屬性複製到新數組中。
0
我不確定你爲什麼要這樣做,除了訪問.length
,.push()
和forEach
,正如你所提到的。據我所知,你不能強迫這些特性/功能在對象上工作,但你肯定可以讓身邊:
.length
(從here):
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
// Get the size of an object
var size = Object.size(myObj);
.push()
:
obj.key = value; //there isn't a much shorter way to add something to an object since you have to specify a key and a value
forEach
:
for(key in obj){
var value;
if(obj.hasOwnProperty(key)){
value = obj[key]; //you now have access to the key and the value in each iteration of obj
}
}
相關問題
- 1. 選擇數組成爲對象屬性
- 2. 爲對象數組
- 3. 如何使對象數組成爲反應性數據源?
- 4. 如何將數組的對象變成對象數組?
- 5. 使對象成爲一個對象javascript
- 6. 使對象類名稱成爲參數
- 7. 將對象數組轉換爲對象
- 8. 使用JavaScript對象作爲數組
- 9. 使用對象作爲數組
- 10. 將數組對象變爲數組
- 11. 數組相交爲對象數組php
- 12. PHP數組爲JavaScript對象
- 13. 數組作爲對象
- 14. 作爲數組的對象
- 15. 將對象數組轉換爲數組對象
- 16. 將對象數組減少/過濾爲新的對象數組。
- 17. lodash將數組轉換爲對象數組的對象
- 18. 對象數組作爲字符串到對象數組(jSON)?
- 19. 如何將對象數組轉換爲模型對象數組
- 20. 如何一組對象數組,轉化爲分組對象
- 21. S4對象組成不當行爲?
- 22. 合併JSON對象爲單一對象的數組使用jquery
- 23. 使用自定義鍵將對象轉換爲對象數組
- 24. 對象數組中的對象數組
- 25. 如何將包含作爲數組的成員變量的對象轉換爲對象數組?
- 26. 將nsdata對象組合成nsmutabledata對象
- 27. 搜索對象從對象數組的數組 - 使用Javascript
- 28. 將數組對象的多深度數組轉換爲對象數組
- 29. 使數組中數組對象
- 30. Javascript:將對象的對象轉換爲對象數組
的兩dimensiona數組? – j08691
JQuery向你展示瞭如何[鏈接](http://api.jquery.com/jquery.map/) –
這似乎是一個相當奇怪的事情。你想要什麼?您可以非常簡單地從類似數組的對象中構建一個數組,但是將非數組對象轉換爲數組? – user2357112