记录:如何快捷的从一个对象中取出几个属性组成新的对象
抛出问题:
/* 这是一个对象,想要得到另外一个对象{name:"小米",age:25,city:"北京"} */
const data = {
name: "小米",
age: 25,
gender: "male",
city: "北京",
job: "前端开发工程师",
}
这是我们在日常的工作中经常遇到的一个小的开发点,那么常见的写法可能就是下面的:
const newData = {
name: data.name,
age: data.age,
city: data.city
}
console.log(newData);
或者再简单点:
const { name, age, city } = data;
const newData = { name, age, city };
console.log(newData);
当然还有骚操作:
const { gender, job, ...newData } = data;
console.log(newData);
以上这些,其实都可以实现,但是吧,往往在实际的开发中,字段会很多,如果遵照上面的写法吧,行倒是行,就会搞得代码很长,就想再简化简化,于是乎,今天介绍的方法就来了!
lodash的pick()方法与omit()的方法;
至于安装lodash这些不再说了
Lodash 简介 | Lodash中文文档 | Lodash中文网 (lodashjs.com)
或者看这个 Vue3+Lodash:2023年了,我依然在使用Lodash_lodash还有人用吗_Jay丶萧邦的博客-CSDN博客
pick()方法
简单来说,就是从对象中,挑取你所需要的属性,组成新的对象;
语法: _.pick(object,[prop1,prop2,prop3......])
const newData = _.pick(data, ['name', 'age', 'city']);
console.log(newData);
omit()方法
这个可以看成pick的反向方法,挑取你不需要的属性,剩下的属性就组成新的对象;
语法: _.omit(object,[prop1,prop2,prop3......])
const newData = _.omit(data, ['gender', 'job']);
console.log(newData);