ฉันมี JSON ง่าย ๆ ที่มีอาร์เรย์ที่มีวัตถุอื่น ๆ เพิ่มเติมเช่นนี้
languagePack:
[
{
'key': 'Username',
'value': 'Benutzername',
'group': 'default'
},
{
'key': 'Password',
'value': 'Passwort',
'group': 'default'
}
]
แต่สิ่งที่ฉันต้องการจริงๆคือวัตถุเช่นนี้:
languagePack:
{
'Username': 'Benutzername',
'Password': 'Passwort'
}
ดังนั้นฉันต้องการลดอาร์เรย์ให้เป็นคู่คีย์ - ค่า - แบบง่ายๆที่อยู่ในอาร์เรย์หรือแม้แต่วัตถุ (คีย์นั้นไม่ซ้ำกัน) ใครบ้างมีความคิดวิธีการลดสิ่งนี้ด้วยฟังก์ชั่นอาเรย์แถวบางส่วน ฉันสร้างสิ่งที่เหมือนกันสำหรับแต่ละสิ่งและสร้างวัตถุ "ด้วยมือ" สำหรับทรัพย์สิน แต่ฉันจำได้ว่ามีบางสิ่งที่ยอดเยี่ยมสำหรับอาร์เรย์เช่น 'ลด' ผู้ดำเนินการแพร่กระจาย (... ) แผนที่ทุก ๆ บางอย่าง ฯลฯ
ฉันลองกับสิ่งที่ชอบ:
var temp = this.languagePack.map(([key, value]) => ({key,value}))
console.log(temp)
แต่นั่นทำให้ฉันเกิดข้อผิดพลาด TypeError: Invalid attempt to destructure non-iterable instance
แก้ไข: ทั้งสามคำตอบทำงานได้อย่างสมบูรณ์แบบ ขอบคุณ
groupจะถูกละเว้น?