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

如何在JavaScript中使用布尔数组过滤数组元素

用布尔数组过滤数组的实现方法

你可以通过以下几种方式实现用filterVals布尔数组过滤cities数组:

方法一:使用filter方法

filter方法的回调函数可以获取当前元素的索引,直接对应filterVals的索引值进行判断:

let cities = ["Istanbul", "Ankara", "Izmir"];
let filterVals = [true, false, false];

const filteredCities = cities.filter((_, index) => filterVals[index]);
console.log(filteredCities); // 输出: ["Istanbul"]

注:这里用下划线_表示不需要使用的当前元素参数,仅保留索引用于判断

方法二:使用reduce方法

通过reduce遍历数组,收集符合条件的元素:

let cities = ["Istanbul", "Ankara", "Izmir"];
let filterVals = [true, false, false];

const filteredCities = cities.reduce((result, city, index) => {
  if (filterVals[index]) {
    result.push(city);
  }
  return result;
}, []);
console.log(filteredCities); // 输出: ["Istanbul"]

注意事项

确保两个数组长度一致,否则超出filterVals长度的元素会因对应索引值为undefined(被视为false)而被过滤掉。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:20:20