如何保留对象中的某些属性?

let obj = {
a:'1',
b:'2',
c:'3',
...
z:'26'
}

取其中的e m h w 返回一个新对象
除了

return  {
e:obj.e,
m:obj.m,
h:obj.h,
w:obj.w}

还有别的方法吗?

阅读 4.8k
3 个回答

原生写法有

const { e, m, h, w } = obj
return { e, m, h, w }

return Object.fromEntries(['e', 'm', 'h', 'w'].map(k => [k, obj[k]]))

return ['e', 'm', 'h', 'w'].reduce((o, k) => (o[k] = obj[k], o), {})

可以参考下 lodash 的 pick方法。

let obj = {
a:'1',
b:'2',
c:'3',
...
z:'26'
}
const filterKeys = [a,b,c];

const obj1 =  {};
filterKeys.foreach((value)=>{
    obj1[value] = obj[value];
})
推荐问题