操作数组的对象属性

我有一些带有某些属性的对象数组。我想对对象属性做一些数学运算,并希望也返回一个数组。


我试过了,似乎没有用。


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'

}]


MM们
浏览 137回答 3
3回答

繁星coding

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}));

陪伴而非守候

无需显式更改对象的值(这就是为什么我们首先使用map,filter和reduce的原因):array.map(({ count, string }) => (   { count: count * 2, string }));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript