我有一個如下所示的數組:[["key1", "value1"], ["key2", "value2"]]
。我需要一個看起來像這樣的字典:{"key1": "value1", "key2": "value2"}
。在Python中,我可以將數組傳遞給dict
初始值設定項。是否有一些等同的方式在Javascript中做到這一點,或者我堅持初始化一個空字典,並一次一個地添加鍵/值對字典?從數組對中初始化Javascript字典
0
A
回答
2
它實際上與Array#reduce
非常簡單:
var obj = yourArray.reduce(function(obj, entry) {
obj[entry[0]] = entry[1];
return obj;
}, {});
Array#reduce
遍歷數組中的條目,反覆將它們與一個「蓄電池」你有第二個參數初始化沿功能。
也許Array#forEach
會在這種情況下,更清晰,更簡潔:
var obj = {};
yourArray.forEach(function(entry) {
obj[entry[0]] = entry[1];
});
或者有簡單for
循環:
var obj = {};
var index, entry;
for (index = 0; index < yourArray.length; ++index) {
entry = yourArray[index];
obj[entry[0]] = entry[1];
}
1
假設你有一個pairs
變量,你可以使用一個map()
功能解決方法(不太優雅,因爲地圖應該用於其他範圍):
var convertedDict = {};
pairs.map(function(pair) {
convertedDict[pair[0]] = pair[1];
});
相關問題
- 1. Swift初始化字典數組
- 2. 如何從count數組中初始化字典?
- 3. 初始化數組對象,使用Javascript
- 4. 在Python中,你如何初始化/重新初始化關聯數組(字典)?
- 5. 初始化javascript數組
- 6. 從c#初始化javascript數組值#
- 7. 初始化對象的Python字典
- 8. 使用Swift 3從數組初始化字典
- 9. 對象初始化數組
- 10. 對象初始化數組
- 11. 初始化數組對象
- 12. Python字典初始化
- 13. 初始化一個字典
- 14. 初始化字符數組
- 15. 字符數組初始化
- 16. 初始化「數組字段」
- 17. 從數組初始化Func
- 18. 從數組初始化QVector
- 19. 從數組初始化
- 20. 初始化Razor中的JavaScript數組
- 21. 構造函數初始化和字典
- 22. 在Java中用一組特定的數據初始化字典
- 23. 如何初始化字典中的數組?
- 24. 初始化數組時初始化System.AccessViolationException
- 25. 在C++中初始化對象數組
- 26. 如何初始化Julia中的字典?
- 27. 在.Net 2.0中初始化字典
- 28. 初始化數組中的字段@Resource
- 29. 初始化字符串數組從字符串數組資源
- 30. 用數組或初始化初始化一個NSMutableArray初始化
可能的重複http://stackoverflow.com/questions/26454655/convert-javascript-array-of-2-element-arrays-into-object-key-value-pairs –
@PaulFitzgerald:很好,你對。 –