![](/img/trans.png)
[英]How to add the key with value for each object inside an array of objects?
[英]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.