将数组中的值添加到对象javascript
我有一个数组将数组中的值添加到对象javascript,javascript,for-loop,Javascript,For Loop,我有一个数组 var nestedArr =[['loop0', 0], ['loop1', 1], ['loop2', 2], ['loop3', 3], ['loop4', 4], ['loop5', 5]] 我必须使用这个循环: var obj = { loop0: 0, loop1: 1, loop2: 2 ...}; 我正在尝试: for(var j = 0; j < nestedArr.length; j++){ obj[nestedArr[j][0]] = nes
var nestedArr =[['loop0', 0], ['loop1', 1], ['loop2', 2], ['loop3', 3], ['loop4', 4], ['loop5', 5]]
我必须使用这个循环:
var obj = { loop0: 0, loop1: 1, loop2: 2 ...};
我正在尝试:
for(var j = 0; j < nestedArr.length; j++){
obj[nestedArr[j][0]] = nestedArr[j][1]}
for(var j=0;j
但我得到的值是未定义的。如何正确添加值。您可以使用
reduce
功能,如下所示:
var nestedArr=[
['loop0',0],
[loop1',1],
['loop2',2],
[loop3',3],
[loop4',4],
[loop5',5]
];
var输出={};
nestedArr.REDUCT(功能(itm){
输出[itm[0]]=itm[1];
});
控制台日志(输出)代码>您可以按如下方式使用reduce
功能:
var nestedArr=[
['loop0',0],
[loop1',1],
['loop2',2],
[loop3',3],
[loop4',4],
[loop5',5]
];
var输出={};
nestedArr.REDUCT(功能(itm){
输出[itm[0]]=itm[1];
});
控制台日志(输出)代码>对我来说很好。刚刚添加了obj
var nestedArr=[[loop0',0],[loop1',1],[loop2',2],[loop3',3],[loop4',4],[loop5',5],
obj={};
对于(var j=0;j console.log(obj)
对我来说很好用。刚刚添加了obj
var nestedArr=[[loop0',0],[loop1',1],[loop2',2],[loop3',3],[loop4',4],[loop5',5],
obj={};
对于(var j=0;j console.log(obj)
使用Array.prototype.reduce
您可以这样做
var nestedArr=[['loop0',0],'loop1',1],'loop2',2],'loop3',3],'loop4',4],'loop5',5]]
常数res=nestedArr.reduce((acc,v)=>{
acc[v[0]]=v[1];
返回acc;
}, {});
控制台日志(res)代码>使用数组。原型。减少您可以这样做
var nestedArr=[['loop0',0],'loop1',1],'loop2',2],'loop3',3],'loop4',4],'loop5',5]]
常数res=nestedArr.reduce((acc,v)=>{
acc[v[0]]=v[1];
返回acc;
}, {});
控制台日志(res)
您可以在JSFIDLE或类似的东西上提供代码片段吗?我真的不理解你的问题。使用声明和初始化的var obj={}
,代码可以工作。你能提供JSFIDLE或类似的代码片段吗?我真的不理解你的问题。对于声明和初始化的var obj={}
,代码可以工作。我不是下选者,但是。当你不返回任何内容时,.map
是不合适的-使用.reduce
而不是headmap。。。不使用结果。顺便说一句,op的给定代码有效。我将其更改为reduce
@Satpal为什么forEach
?如果将一个数组缩减为一个对象,这正是for循环的reduce
的作用,这是正确的,并且您可以看到它运行良好。有什么问题吗@blahblahvahI不是向下投票人,但是当您不返回任何内容时,.map
不合适-使用.reduce
代替map。。。不使用结果。顺便说一句,op的给定代码有效。我将其更改为reduce
@Satpal为什么forEach
?如果将一个数组缩减为一个对象,这正是for循环的reduce
的作用,这是正确的,并且您可以看到它运行良好。有什么问题吗@blahblahvahit没有解释为什么,但是我得到的值是未定义的。因为它没有给你未定义的。它没有解释为什么,但是我得到的值是未定义的。因为它没有给你未定义的