能否查询列表类型属性包含指定值的对象?
如何查询属性为列表且包含特定值的对象?
当然可以实现,下面用两种常见编程语言举例说明:
JavaScript 实现
先定义目标数组:
const data = [ {id: 1, child:["apple", "tomato", "potato"]}, {id: 2, child:["potato"]}, {id: 3, child:["banana", "apple"]} ];
使用filter()结合includes()筛选符合条件的对象:
// 筛选child属性包含"apple"的对象 const filteredItems = data.filter(item => item.child.includes("apple")); console.log(filteredItems);
输出结果为:
[ {id: 1, child:["apple", "tomato", "potato"]}, {id: 3, child:["banana", "apple"]} ]
Python 实现
同样先定义目标列表:
data = [ {"id": 1, "child": ["apple", "tomato", "potato"]}, {"id": 2, "child": ["potato"]}, {"id": 3, "child": ["banana", "apple"]} ]
使用列表推导式筛选:
# 筛选child列表包含"apple"的字典 filtered_items = [item for item in data if "apple" in item["child"]] print(filtered_items)
输出结果为:
[ {"id": 1, "child": ["apple", "tomato", "potato"]}, {"id": 3, "child": ["banana", "apple"]} ]
核心逻辑都是遍历数组/列表,检查目标属性对应的列表是否包含指定值,保留满足条件的对象。
内容的提问来源于stack exchange,提问作者Ian
相关产品推荐
相关产品推荐

