[英]Change the structure of an object in JS
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]}`}
}
我想擁有 :
obj = {
france: { country: "france", date:"sfzef"},
italie: { country: "italie", date:"ttttt"},
belgique: { country: "belgique", date:"zzzee"}
}
我已經嘗試了 4 個小時,提前感謝幫助我的人
當您需要執行對象的鍵/值對時,您已經接近了,但是您正在創建一個字符串。 計算鍵可以用鍵周圍的方括號來完成:
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]
}
替代方法:在Object
的條目上使用reducer
(參見MDN )
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.