大家好,又见面了,我是你们的朋友全栈君。
要优雅的话,使用 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