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

如何过滤对象数组中元素内部的数组并返回匹配过滤条件的新数组

实现方案

需求说明

需要过滤外层对象数组,仅保留内部b数组恰好只包含指定过滤值、无其他额外值的元素。

代码实现

const example = [ { id: 1, b: [1, 2]}, {id:2, b:[1]}, {id:3, b: [1,3]}]
const filterVal = 1 // 变量名避免和数组filter方法重名,减少命名冲突

const result = example.filter(item => {
  // 双条件判断:b数组所有元素等于目标值 + 数组长度为1,保证无其他值
  return item.b.every(val => val === filterVal) && item.b.length === 1
})

console.log(result) // 输出结果:[{id: 2, b: [1]}]

逻辑补充

  • 外层调用数组filter方法遍历原数组,会自动将符合判断条件的元素组合为新数组返回
  • 内层every方法用于校验b数组所有元素都匹配目标值,避免出现包含目标值同时混入其他值的情况
  • 如果你的业务场景允许b数组为[1,1]这类多重复目标值的元素也被保留,去掉长度判断的条件即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:48:02