给数组中所有对象添加属性

34 浏览
0 Comments

给数组中所有对象添加属性

This question already has answers here:

在 JavaScript 中循环遍历数组(for each)

我有以下对象数组:

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

如何给数组中所有对象添加一个新属性 c = b - a

admin 更改状态以发布 2023年5月21日
0
0 Comments

使用 forEach 函数:

var array = [{ 'a': '12', 'b': '10' }, { 'a': '20', 'b': '22' }];
array.forEach(e => e.c = +e.b - +e.a);
console.log(JSON.stringify(array));

0
0 Comments

你可以使用 array.map,

并且你应该使用 Number() 将属性转换为数字再进行加法操作:

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)


此外,借助展开操作符,可以采用更函数式的方法:

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

0