从对象数组中删除除特定键值外的所有键值对



我有一个对象数组

const myArr = [
{k1: 1, k2: 1, k3: 3, k4: 4}, 
{k1: 1, k2: 2, k3: 3, k4: 4}, 
{k1: 1, k2: 2, k3: 3, k4: 4}, 
{k1: 1, k2: 2, k3: 3, k4: 4}
]

我正在尝试过滤这些,我不需要使用过滤器,但这正是我目前正在做的。

const filteredObj = myArr.filter(item => item.k2 === 1)

,但我想只保留一个键值对。例如

console.log(myArr) => {k2: 1}

使用map()与对象解构和属性简写语法:

const myArr = [
{k1: 1, k2: 1, k3: 3, k4: 4}, 
{k1: 1, k2: 2, k3: 3, k4: 4}, 
{k1: 1, k2: 2, k3: 3, k4: 4}, 
{k1: 1, k2: 2, k3: 3, k4: 4}
]
const filteredObj = myArr.filter(item => item.k2 === 1).map(({k2}) => ({k2}));
console.log(filteredObj);

最新更新