如何在JavaScript中将对象数组转换为映射对象? [英] How to convert an array of objects into a mapped object in JavaScript?

查看:177
本文介绍了如何在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'
               }

注意事项:

有什么想法吗?

推荐答案

您需要对数组中的对象进行操作,而不是对数组中包含其索引的字符串进行操作.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆