我有一个分支数组,大致长这样:
let branches = [
{
id: 21,
name: "Branch 1",
opening_times: [ {}, {}, {} ] // Array of objects (Monday, Tuesday etc)
},
{
id: 22,
name "Branch 2"
opening_times: [ {}, {}, {} ] // Array of objects (Monday, Tuesday etc)
},
// .. etc
]
但我希望将其转换为以名称作为每个键的对象。
期望输出:
branches = {
"Branch 1": {
id: 21,
opening_times: [ {}, {}, {} ] // Array of objects (Monday, Tuesday etc)
},
"Branch 2": {
id: 22,
opening_times: [ {}, {}, {} ] // Array of objects (Monday, Tuesday etc)
}
}
尝试过:
let newBranches = branches.map(branch => (
{
[branch.name]: {
id: branch.id,
days: branch.opening_times
}
}
));
console.log(newBranches)
当然,映射函数会给我一个数组输出:
[
0: {Branch 1: {…}}
1: {Branch 2: {…}}
]
有人能帮我指向正确的方向,以获取一个新对象,其中name
键本身是一个对象吗?
a[name] = v
呢? - adiganame
属性不应该在值对象中。 - Robby Cornelissen(a[name] = v, a)
而不是(a[name] = {...v}, a)
。 - adiganame
属性包含在值对象中。 - Robby Cornelissenv
已经是一个没有name
属性的新对象。{...v}
只是克隆了v
。 - adiga