为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Array.prototype.map 时将变量名称分配为对象属性

使用 Array.prototype.map 时将变量名称分配为对象属性

慕村225694 2021-06-05 08:36:11
我正在遍历一个数组数组.map(),试图将内部数组作为一key:value对分配给一个对象。它不成功。这甚至可以工作吗?我需要把它分解成更多的步骤/功能/变量吗?对于属性分配中的元素,我已经尝试了我能想到的所有语法。我还尝试将arr.map(function() {})语法与所有这些一起使用,但没有区别。 const smallArr = [1, 23, 25, 46, 52, 789, 64];const thisArr = [5, 4, 65, 24, 35];const thatArr = [{key: 1, anotherKey: 2}];let parentObj = {};const bigArr = [smallArr, thisArr, thatArr];const newSomething = bigArr.map(arr => parentObj["arr"] = arr);// parentObj returns: { arr: [ { key: 1, anotherKey: 2 } ] }这两个我都懂。它在每次迭代时分配我的元素的字符串并覆盖值,以便最终对象是一个键:值对,值是外部数组中的最后一个内部数组。const newSomething = bigArr.map(arr => parentObj.arr = arr);  //returns { arr: [ { key: 1, anotherKey: 2 } ] }const newSomething = bigArr.map(arr => parentObj['arr'] = arr);  //returns { arr: [ { key: 1, anotherKey: 2 } ] }这个我不明白最后一对发生了什么。const newSomething = bigArr.map(arr => parentObj[`${arr}`] = arr);  // returns {         '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, anotherKey: 2 } ],          arr: [ { key: 1, anotherKey: 2 } ]         }这个我完全看不懂。const newSomething = bigArr.map(arr => parentObj["`${arr}`"] = arr);  // returns {         '`${arr}`': [ { key: 1, anotherKey: 2 } ],          arr: [ { key: 1, anotherKey: 2 } ]          }我正在尝试:parentObj = {    smallArr: [1, 23, 25, 46, 52, 789, 64],    thisArr: [5, 4, 65, 24, 35],    thatArr: [{key: 1, anotherKey: 2}],}
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

您可以简单地使用对象文字速记属性


let smallArr = [1, 23, 25, 46, 52, 789, 64];

let thisArr =  [5, 4, 65, 24, 35];

let thatArr = [{key: 1, anotherKey: 2}];

let parentObj = { smallArr, thisArr, thatArr,}


console.log(parentObj)


查看完整回答
反对 回复 2021-06-11
  • 2 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信