You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

嵌套对象数组处理:如何统计商品总数与总价?

嘿,这问题其实没你想的那么复杂,我来给你一步步解决~

首先看你的数据结构,是个嵌套数组(外层数组包含多个商品数组),核心思路就是先把嵌套的数组“拉平”成一维数组,之后统计总数和计算总价就简单多了。

需求1:统计所有商品的总数

用JavaScript的flat()方法可以轻松把嵌套数组转成一维数组,然后直接取数组长度就是商品总数:

const totalItems = myArr.flat().length;

如果你的数组嵌套层数可能更深(比如三层甚至更多),可以用flat(Infinity)来处理任意深度的嵌套:

const totalItems = myArr.flat(Infinity).length;

需求2:计算所有商品的总价

同样先拉平数组,然后用reduce()方法来累加每个商品的price属性:

const totalPrice = myArr.flat().reduce((totalSum, product) => {
  return totalSum + product.price;
}, 0); // 0是累加的初始值

或者写成更简洁的箭头函数形式:

const totalPrice = myArr.flat().reduce((sum, p) => sum + p.price, 0);

完整代码示例

把两个需求整合起来,运行一下就能看到结果:

const myArr = [
  [{ id: 1, price: 200 }, { id: 2, price: 900 }, { id: 3, price: 100 }],
  [{ id: 5, price: 100 }]
];

// 统计商品总数
const totalItems = myArr.flat().length;
console.log("商品总数:", totalItems); // 输出:4

// 计算商品总价
const totalPrice = myArr.flat().reduce((sum, product) => sum + product.price, 0);
console.log("商品总价:", totalPrice); // 输出:1300

这样处理下来,两个需求就都搞定啦~

内容的提问来源于stack exchange,提问作者hamidreza nikoonia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:13:09