簡體   English   中英

Angular 2為每個數組對象添加鍵和值

[英]Angular 2 add key and value to each array object

我有一些對象:

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不是函數。

但它沒有用。 如何以正確的方式做到這一點?

你應該做 :

this.editObj.forEach(item => item["key"]= "123");
console.log(this.editObj);
const arr = [
  {name: 'name'},
  {name: 'name'},
  {name: 'name'},
  {name: 'name'},
]

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

您的代碼無效,因為您在對象上使用.push() ,而不是在數組上。 嘗試這個:

this.editObj.forEach(item => item["key"] = this.checked);

您可以嘗試創建自定義詞典

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

除了IE11以外的一切

創建一個新數組

 const array = [{ name: 'name', }, { name: 'name', }, { name: 'name', }, { name: 'name', }, ]; console.log(array.map(x => ({ ...x, key: '123', }))); 

更新現有陣列

 const array = [{ name: 'name', }, { name: 'name', }, { name: 'name', }, { name: 'name', }, ]; array.forEach((x) => { x.key = '123'; }); console.log(array); 


在IE11中

 var array = [{ name: 'name', }, { name: 'name', }, { name: 'name', }, { name: 'name', }, ]; for (var i = 0; i < array.length; i += 1) { array[i].key = '123'; } console.log(array); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM