用js reduce 写一个reduce循环遍历数组对象,里面带有if判断

  • 简单的reduce案例,实际场景中使用不多,这里给到一个常用的遍历数组对象!!
var products = [
  { name: "Apple", price: 2.5, quantity: 3 },
  { name: "Banana", price: 1.5, quantity: 2 },
  { name: "Orange", price: 3, quantity: 4 },
];

var totalPrice = products.reduce(function(accumulator, currentValue) {
  if (currentValue.price < 3) { // 如果商品价格小于3
    return accumulator + (currentValue.price * currentValue.quantity); // 累加
  } else {
    return accumulator; // 不满足条件则不进行累加-----这里一定要加上返回,每次循环都需要有返回,否则会返回undefined
  }
}, 0);

console.log(totalPrice); // 输出:7.5

在这个示例中,我们添加了一个条件判断,只有当商品价格小于3时才进行累加操作。如果商品价格大于等于3,则不进行累加。
最终得到的 totalPrice 值为 7.5,即满足条件的商品的价格与数量的乘积之和,即 2.5 * 3 + 1.5 * 2。
这个案例演示了如何在 reduce() 方法的回调函数中使用条件判断来选择是否进行累加操作。

posted @   盘思动  阅读(169)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2022-08-29 vue报错Error in render: “TypeError: Cannot read property ‘length‘ of undefined“
2018-08-29 阿里域名备案
2017-08-29 mysql database 格式的查看和改变
2017-08-29 mysqldump 和 sql命令导入sql文件
2017-08-29 iconv
2017-08-29 discuz uc_server 配置登录
点击右上角即可分享
微信分享提示