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);