ค้นหาเว็บไซต์

javascript - Angular 2 เพิ่มคีย์และค่าลงในแต่ละวัตถุของอาร์เรย์


ฉันมีอาเรย์ของวัตถุ :

array = [
  {name: 'name'},
  {name: 'name'},
  {name: 'name'},
  {name: 'name'},
]

ฉันต้องการเพิ่มคีย์: '123' ให้กับแต่ละอันของพวกเขา ดังนั้นมันจะเป็น:

array = [
  {name: 'name', key: '123'},
  {name: 'name', key: '123'},
  {name: 'name', key: '123'},
  {name: 'name', key: '123'},
]

สิ่งที่ฉันได้ลองทำ:

checked = false;
     this.editObj.forEach(item => item.push(this.checked))

ข้อผิดพลาด: item.push ไม่ใช่ฟังก์ชัน

แต่มันใช้ไม่ได้ วิธีทำให้ถูกต้องคืออย่างไร?

คำตอบ #1

const arr = [
  {name: 'name'},
  {name: 'name'},
  {name: 'name'},
  {name: 'name'},
]

const arr2 = arr.map(x => ({...x , key: '123'}));

คำตอบ #2

คุณสามารถลองสร้างพจนานุกรมเฉพาะได้

array = [
{name: 'name'},
{name: 'name'},
{name: 'name'},
{name: 'name'},
]

var dict = []; // create an empty dictionary
for (i = 0; i < array.length; i++) { 

  dict.push({
    key:   "123",
    value: array[i].name
  });
  

}
  console.log(dict);