为了账号安全,请及时绑定邮箱和手机立即绑定

操作数组的对象属性

操作数组的对象属性

MM们 2021-04-01 14:10:22
我有一些带有某些属性的对象数组。我想对对象属性做一些数学运算,并希望也返回一个数组。我试过了,似乎没有用。array.map(el => {    el.count * 2;    return el})array = [{    count: 4,    string: 'randomstring'}, {    count: 9,    string: 'randomstring'}, {    count: 7,    string: 'randomstring'}, {    count: 12,    string: 'randomstring'}]预期的array = [{    count: 8,    string: 'randomstring'}, {    count: 18,    string: 'randomstring'}, {    count: 14,    string: 'randomstring'}, {    count: 24,    string: 'randomstring'}]
查看完整描述

3 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

el.count * 2;不会改变el.count您可以为其分配值的值,就像


el.count = el.count * 2;

但这会带来另一个问题。它将更改原始数据。因此最好count使用Spread Operator返回具有修改后属性的新对象


let array = [{ count: 4, string: 'randomstring' }, { count: 9, string: 'randomstring' }, { count: 7, string: 'randomstring' }, { count: 12, string: 'randomstring' }]


let res = array.map(el => ({...el,count:el.count*2}));

console.log(res);

你也可以 Object.assign()

let res = array.map(el => Object.assign({count:el.count*2}));


查看完整回答
反对 回复 2021-04-15
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

无需显式更改对象的值(这就是为什么我们首先使用map,filter和reduce的原因):


array.map(({ count, string }) => (

   { count: count * 2, string }

));


查看完整回答
反对 回复 2021-04-15
  • 3 回答
  • 0 关注
  • 134 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信