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

如何过滤键值对象组成的数组,筛选条件为目标值存在于对象内部

过滤键值对象数组

键值对象数组按值存在性过滤实现

我们可以通过数组遍历+对象值枚举的方式完成过滤,以下是不同常用语言的实现方案:

JavaScript 实现

使用Array.filter()遍历数组,配合Object.values()获取对象所有属性值,通过includes()或some()判断目标值是否存在:

// 示例数据
const sourceArray = [
  { id: 1, name: '前端开发', category: '技术' },
  { id: 2, name: '产品经理', category: '产品' },
  { id: 3, name: '后端开发', category: '技术' }
];
const targetValue = '技术';

// 过滤逻辑:保留所有属性值包含目标值的项
const filteredArray = sourceArray.filter(item => 
  Object.values(item).includes(targetValue)
);

// 若需要自定义匹配规则(如字符串模糊匹配),可替换为some方法
const fuzzyFilteredArray = sourceArray.filter(item => 
  Object.values(item).some(val => String(val).includes('开发'))
);

Python 实现

使用列表推导式遍历数组,通过字典的values()方法获取所有值,直接判断目标值是否在值列表中:

# 示例数据
source_array = [
  {"id": 1, "name": "前端开发", "category": "技术"},
  {"id": 2, "name": "产品经理", "category": "产品"},
  {"id": 3, "name": "后端开发", "category": "技术"}
]
target_value = "技术"

# 过滤逻辑
filtered_array = [item for item in source_array if target_value in item.values()]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:39:03