JavaScript如何筛选数组对象中部分属性

如题,我如何把下面

arr:[
         {a:'11',b:true,c:'555'},
         {a:'11',b:false,c:'555'}
     ]

转化成

arr:[
        {a:'11',c:'555'},
        {a:'11',c:'555'}
    ]

用map delete fliter都行
我试过用
const arr1 = arr.fliter(item=>item.b===true||item.b===false)
似乎不行

阅读 6.1k
2 个回答
[ {a:'11',b:true,c:'555'}, {a:'11',b:false,c:'555'} ].map(({a,c}) => ({a,c}))

function exclude(keys) {
    return function excluded(obj) {
        return Object.keys(obj).reduce((res, k) => {
                if(!keys.includes(k)) res[k] = obj[k];
                return res;
        }, {})
    }
}

var arr = [
         {a:'11',b:true,c:'555'},
         {a:'11',b:false,c:'555'}
     ]


arr.map(exclude(['b']))

`const arr1 = arr.map(item => {
delete item.b
return item
})`

或者
`const arr1 = arr.map({a, c} => {
return {a, c}
})`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题