以下是一个示例代码,演示如何按键值过滤对象数组为数组:
const data = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Bob' },
{ id: 4, name: 'Alice' },
];
const filterByKeyValue = (array, key, value) => {
return array.filter(item => item[key] === value);
};
// 示例使用
const filteredArray = filterByKeyValue(data, 'name', 'Bob');
console.log(filteredArray);
上述代码中,我们定义了一个名为filterByKeyValue
的函数,它接受三个参数:array
(要过滤的对象数组),key
(要过滤的键),以及value
(要过滤的键对应的值)。
函数内部使用了Array.filter()
方法来过滤数组。Array.filter()
方法接受一个回调函数作为参数,并返回一个新数组,该数组包含符合回调函数条件的元素。
在回调函数中,我们检查每个对象的key
对应的值是否等于value
。如果是,则保留该对象,否则过滤掉。
最后,我们使用示例数据来调用filterByKeyValue
函数,并将结果打印到控制台上。
在这个示例中,我们过滤了data
数组,根据对象的name
键值为'Bob'
,返回了一个只包含满足条件的对象的新数组filteredArray
。
你可以根据实际需求修改示例代码中的键和值来过滤对象数组。
上一篇:按键值分组 pyspark
下一篇:按键值过滤数组