Javascript 使用Array.prototype.map时将变量名指定为对象属性

Javascript 使用Array.prototype.map时将变量名指定为对象属性,javascript,arrays,object,ecmascript-6,Javascript,Arrays,Object,Ecmascript 6,我正在使用.map()遍历数组数组,试图将内部数组作为键:值对分配给对象。这是不成功的。这行得通吗?我需要把它分解成更多的步骤/函数/变量吗 我已经尝试了在属性赋值中为元素想到的所有语法 我还尝试将arr.map(function(){})语法与所有这些语法结合使用,但没有区别。  constsmallarr=[1,23,25,46,52789,64]; 常数thisArr=[5,4,65,24,35]; constthatarr=[{key:1,另一个key:2}]; 让parentObj={

我正在使用
.map()
遍历数组数组,试图将内部数组作为
键:值
对分配给对象。这是不成功的。这行得通吗?我需要把它分解成更多的步骤/函数/变量吗

我已经尝试了在属性赋值中为元素想到的所有语法

我还尝试将
arr.map(function(){})
语法与所有这些语法结合使用,但没有区别。 

constsmallarr=[1,23,25,46,52789,64];
常数thisArr=[5,4,65,24,35];
constthatarr=[{key:1,另一个key:2}];
让parentObj={};
const bigArr=[smallArr,thisArr,thatArr];
const newSomething=bigArr.map(arr=>parentObj[“arr”]=arr);
//parentObj返回:{arr:[{key:1,另一个key:2}]}
这两个我都懂。它正在分配我元素的字符串 每次迭代并覆盖该值,以便最终对象 一个键:值对,值是外部数组中的最后一个内部数组 数组

const newSomething=bigArr.map(arr=>parentObj.arr=arr);
//返回{arr:[{key:1,另一个key:2}]}
const newSomething=bigArr.map(arr=>parentObj['arr']=arr);
//返回{arr:[{key:1,另一个key:2}]}
这一双我不明白最后一双是怎么回事

const newSomething=bigArr.map(arr=>parentObj[`${arr}`]=arr);
//返回{
'1,23,25,46,52,789,64': [ 1, 23, 25, 46, 52, 789, 64 ], 
'5,4,65,24,35': [ 5, 4, 65, 24, 35 ], 
“[object object]”:[{key:1,另一个key:2}], 
arr:[{键:1,另一个键:2}]
}
这个我一点也不懂

const newSomething=bigArr.map(arr=>parentObj[“`${arr}`”]=arr);
//返回{
“${arr}`:[{key:1,另一个key:2}], 
arr:[{键:1,另一个键:2}]
}
我正在努力做到:

parentObj={
smallArr:[1,23,25,46,52,789,64],
thisArr:[5,4,65,24,35],
thatArr:[{key:1,另一个key:2}],
}

您可以简单地使用对象文字

let smallArr=[1,23,25,46,52,789,64];
让thisArr=[5,4,65,24,35];
让thatArr=[{key:1,另一个key:2}];
让parentObj={smallArr,thisArr,thatArr,}

console.log(parentObj)
只需显式分配每个变量:

constsmallarr=[1,23,25,46,52789,64];
常数thisArr=[5,4,65,24,35];
constthatarr=[{key:1,另一个key:2}];
让parentObj={smallArr,thisArr,thatArr};
console.log(parentObj)

.as console wrapper{max height:100%!important;top:auto;}
您的数组只包含数组-它们不再命名为
smallArr
thisArr
thatArr
。如果您只有
bigArr
,那么您需要明确地拼写属性名称。我不是故意的,我试图检查两个答案,因为它们是相同的,我猜当我检查第二个答案时,它否决了您的答案。没关系-您可以接受另一个@DoubleBridges。先不要接受我的。