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

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.6k
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];
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题