[英]Angular 2 add key and value to each array object
I have array of objects : 我有一些对象:
array = [
{name: 'name'},
{name: 'name'},
{name: 'name'},
{name: 'name'},
]
I want to add key: '123' to each of them so it would be : 我想为每个人添加密钥:'123',这样就可以了:
array = [
{name: 'name', key: '123'},
{name: 'name', key: '123'},
{name: 'name', key: '123'},
{name: 'name', key: '123'},
]
What I've tryed : 我尝试过的:
checked = false;
this.editObj.forEach(item => item.push(this.checked))
ERROR : item.push is not a function.
错误:item.push不是函数。
But it isn't working. 但它没有用。 How to do it in the right way ?
如何以正确的方式做到这一点?
you should do : 你应该做 :
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'}));
Your code is not working because you use .push()
on object, not on array. 您的代码无效,因为您在对象上使用
.push()
,而不是在数组上。 Try this: 尝试这个:
this.editObj.forEach(item => item["key"] = this.checked);
You can try with creating custom dictionary 您可以尝试创建自定义词典
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);
In everything except IE11 除了IE11以外的一切
Creating a new array 创建一个新数组
const array = [{ name: 'name', }, { name: 'name', }, { name: 'name', }, { name: 'name', }, ]; console.log(array.map(x => ({ ...x, key: '123', })));
Updating existing array 更新现有阵列
const array = [{ name: 'name', }, { name: 'name', }, { name: 'name', }, { name: 'name', }, ]; array.forEach((x) => { x.key = '123'; }); console.log(array);
In IE11 在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.