如何获取对象中嵌套数组的数据并对数组对象的price字段求和
数组对象price字段求和实现方法
你可以选择两种方式实现,第一种适配你想先用map提取price字段的需求,第二种直接一步完成求和:
方式1:先通过map提取price字段再求和
如果你之前map提取失败,可参考如下正确写法:
// 原始数组 const productArr = [{"name":"product1","value":3,"price":60},{"name":"product2","value":3,"price":12},{"name":"product3","value":3,"price":24},{"name":"product4","value":1,"price":16}]; // 提取所有price到新数组 const priceArr = productArr.map(item => item.price); // 对price数组求和 const totalPrice = priceArr.reduce((prevSum, currentPrice) => prevSum + currentPrice, 0);
运行后totalPrice就是所有price的总和,你之前map提取失败大概率是没有正确返回对象的price属性。
方式2:直接用reduce一步完成求和
不需要单独提取字段,遍历过程中直接累加即可,代码更简洁:
const productArr = [{"name":"product1","value":3,"price":60},{"name":"product2","value":3,"price":12},{"name":"product3","value":3,"price":24},{"name":"product4","value":1,"price":16}]; const totalPrice = productArr.reduce((prevSum, currentItem) => prevSum + currentItem.price, 0);
两种方法最终计算得到的totalPrice结果均为112,和手动计算结果60+12+24+16=112一致。
内容的提问来源于stack exchange,提问作者It's mee
相关产品推荐
相关产品推荐

