2 回答
TA贡献1847条经验 获得超7个赞
你很接近,但是当你需要做一个对象的键/值对时,你正在创建一个字符串。计算密钥可以用方括号围绕密钥完成:
const a = {
0: { country: "france", date:"sfzef"},
1: { country: "italie", date:"ttttt"},
2: { country: "belgique", date:"zzzee"}
}
let obj = {}
for (const property in a) {
obj = {...obj, [a[property].country]: a[property]}
}
console.log(obj);
如果要避免每次都复制对象,可以这样做:
let obj = {}
for (const property in a) {
obj[a[property].country] = a[property]
}
TA贡献1871条经验 获得超8个赞
替代方法:在(参见MDN )reducer的条目上使用 aObject
const a = {
0: { country: "france", date:"sfzef"},
1: { country: "italie", date:"ttttt"},
2: { country: "belgique", date:"zzzee"}
};
const b = Object.entries(a)
.reduce( (acc, [key, value]) => ({...acc, [value.country]: value}), {} );
console.log(b);
添加回答
举报
