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

如何使用JavaScript的Array.reduce()按条件筛选数组元素

使用reduce()筛选出gender为"BOYS"的数组元素

首先是你的原数组:

const records = [
  { value: 24, gender: "BOYS" },
  { value: 42, gender: "BOYS" },
  { value: 85, gender: "GIRLS" },
  { value: 12, gender: "GIRLS" },
  { value: 10, gender: "BOYS" }
];

可以通过reduce()方法实现需求,代码如下:

const boysRecords = records.reduce((acc, current) => {
  // 判断当前元素的gender是否为"BOYS"
  if (current.gender === "BOYS") {
    acc.push(current);
  }
  // 必须返回累加器,供下一次迭代使用
  return acc;
}, []); // 初始累加器设为空数组

console.log(boysRecords);
// 输出结果:[{value:24, gender:"BOYS"}, {value:42, gender:"BOYS"}, {value:10, gender:"BOYS"}]

逻辑说明

  • reduce()的第一个参数是回调函数,接收两个核心参数:acc(累加器,用来存储最终结果)和current(当前遍历到的数组元素)。
  • 我们把累加器的初始值设为空数组[],每次遍历元素时,若元素的gender等于"BOYS",就将该元素添加到累加器中。
  • 每次迭代结束后必须返回累加器,这样它才能被传递到下一次迭代,最终得到筛选后的数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:25:44