大家好,又见面了,我是你们的朋友全栈君。
要优雅的话,使用 Lodash 的 omit 方法移除不要的属性:
const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };
const result = _.omit(object, [‘a’, ‘c’]);
// => { ‘b’: ‘2’ }
或者用 pick 方法只留下需要的属性:
const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };
const result = _.pick(object, [‘a’, ‘c’]);
// => { ‘a’: 1, ‘c’: 3 }
当然如果你不想用库或者喜欢动手的话,自己实现一个 omit 也是可以的,实现方法有很多:
// 中规中矩式
const omit = (obj, uselessKeys) =>
Object.keys(obj).reduce((acc, key) =>
return uselessKeys.includes(key) ?
acc :
{…acc, [key]: acc[key]}
}, {});
// 投机取巧式
const omit = (obj, uselessKeys) =>
uselessKeys.reduce((acc, key) => {
return {…acc, [key]: undefined}
}, obj)
// 粗暴式
const omit = (obj, uselessKeys) => {
uselessKeys.forEach(key => {
delete obj[key]
})
return obj
}
最后是特别粗暴的方法:
delete obj.created_at
delete obj.deleted_at
delete obj.updated_at
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/129250.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...