如何在JavaScript中将对象数组转换为映射对象? [英] How to convert an array of objects into a mapped object in JavaScript?
本文介绍了如何在JavaScript中将对象数组转换为映射对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将类似initialArray
的JSON对象数组转换为finalObject
映射?
How can I convert something like initialArray
array of JSON objects into finalObject
map?
var initialArray = [
{ id:'id1', name:'name1' },
{ id:'id2', name:'name2' },
{ id:'id3', name:'name3' },
{ id:'id4', name:'name4' }
];
var finalObject = {
'id1':'name1',
'id2':'name2',
'id3':'name3',
'id4':'name4'
}
注意事项:
- ID是字符串.
- 我尝试进行循环-无法使其正常工作- http://jsfiddle.net/5af9R /23/
有什么想法吗?
推荐答案
您需要对数组中的对象进行操作,而不是对数组中包含其索引的字符串进行操作.
You need to operate on the objects in your array, not strings containing their indexes in the array.
您还应该使用常规的for循环来遍历数组.
You should also use a regular for loop to iterate over an array.
您的JSFiddle,已修复:
Your JSFiddle, fixed:
var x = [ {id:'1', img:'img1'}, {id:'2', img:'img2'}, {id:'3', img:'img3'} ];
var resp = {};
for( var i = 0 ; i < x.length ; i++ ){
var obj = x[i];
resp[obj.id] = obj.img;
}
document.write( JSON.stringify(resp, undefined, 2) );
这篇关于如何在JavaScript中将对象数组转换为映射对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文