如何删除对象的某个属性(对象属性方法是什么)

如何删除对象的某个属性(对象属性方法是什么)

大家好,又见面了,我是你们的朋友全栈君。

要优雅的话,使用 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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129250.html原文链接:https://javaforall.cn

相关推荐