如何在JavaScript中将对象数组转换为映射对象?

She*_*zod 5 javascript jquery json

如何将类似initialArrayJSON对象的数组转换为finalObjectmap?

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'
               }
Run Code Online (Sandbox Code Playgroud)

需要考虑的事项:

有任何想法吗?

Que*_*tin 3

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

\n\n

您还应该使用常规 for 循环来迭代数组。

\n\n

你的 JSFiddle,已修复:

\n\n
var x = [ {id:'1', img:'img1'}, {id:'2', img:'img2'}, {id:'3', img:'img3'} ];\nvar resp = {};\n\nfor( var i = 0 ; i < x.length ; i++ ){\n    var obj = x[i];\n    resp[obj.id] = obj.img;\n}\n\ndocument.write( JSON.stringify(resp, undefined, 2) );\n\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n