嗨,我正在尝试使用减少方法从对象数组中创建一个对象映射,但是没有找到添加2个属性作为键的方法。假设我有一系列的物体,比如-
const students = [
{
name: "sam",
age: 26,
},
{
name: 'john",
age: 30,
}
]我正试着创建一张地图
{
sam_26:{
name: "sam",
age: 26,
}
}我的精简函数代码:
students.reduce((obj, student) => {
`${obj[student.name]}_${obj[student.age]}` = student;
return obj;
}, {});这不管用。任何指针都会对..thanks有帮助!
发布于 2018-04-23 04:33:49
您不能用这样的模板文字将其分配到左侧。尝试先定义属性,然后将其分配给对象:
const students = [ { name: "sam", age: 26, }, { name: 'john', age: 30, } ];
const finalObj = students.reduce((obj, student) => {
const prop = `${student.name}_${student.age}`;
obj[prop] = student;
return obj;
}, {});
console.log(finalObj);
https://stackoverflow.com/questions/49973435
复制相似问题