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

JavaScript如何从二维数组中按条件提取并排除指定元素?

二维数组过滤指定元素并转为一维数组的实现

给定二维数组 const array = [["1", "3"],["4", "3"]],需要排除元素 const itemToExclude = "3",最终得到一维数组 ["1", "4"]。你当前的代码用了两层 map,但 map 只负责转换元素不会移除元素,所以没法实现过滤和扁平化的需求,以下是两种可行的修改方案:

方案一:先扁平化再过滤

直接把二维数组转成一维后,筛选掉不需要的元素:

const array = [["1", "3"],["4", "3"]]
const itemToExclude = "3"

const result = array.flat().filter(subitem => subitem !== itemToExclude)

console.log(result) // 输出 ["1", "4"]

flat() 方法会将二维数组拉平为一维,接着用 filter() 留下不等于 itemToExclude 的元素即可。

方案二:先过滤子数组再扁平化

先对每个子数组单独过滤,再把结果合并成一维数组:

const array = [["1", "3"],["4", "3"]]
const itemToExclude = "3"

const result = array.map(subArray => subArray.filter(item => item !== itemToExclude)).flat()

console.log(result) // 输出 ["1", "4"]

内层用 filter() 替换原来的 map,先把每个子数组里的目标元素去掉,再用 flat() 把处理后的二维数组转成一维。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:05:22