关于javascript:向数组中的所有对象添加属性

Add property to all objects in array

本问题已经有最佳答案,请猛点这里访问。

我有以下对象数组:

1
var array = [ {'a': '12', 'b':'10'}, {'a': '20', 'b':'22'} ];

如何向数组的所有对象添加新属性c = b - a


使用forEach函数:

1
2
3
4
5
var array = [{ 'a': '12', 'b': '10' }, { 'a': '20', 'b': '22' }];

array.forEach(function(e) { e.c = +e.b - +e.a });
   
document.write(JSON.stringify(array));

</P >


你可以使用array.map, </P >

你应该使用number(OP)的转化问题的方法:增数

1
2
3
4
5
6
7
8
var array = [ {'a': '12', 'b':'10'}, {'a': '20', 'b':'22'} ];

var r = array.map( x => {
  x.c = Number(x.b) - Number(x.a);
  return x
  })

console.log(r)

</P >

和,与支持的扩展算子A的功能的方法,更多的将是: </P >

1
2
3
4
array.map(x => ({
    ...x,
    c: Number(x.a) - Number(x.b)
}))