当前位置: 首页 > article >正文

记录:如何快捷的从一个对象中取出几个属性组成新的对象

抛出问题:

    /* 这是一个对象,想要得到另外一个对象{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);

http://www.kler.cn/a/148319.html

相关文章:

  • GISBox VS ArcGIS:分别适用于大型和小型项目的两款GIS软件
  • 去地面算法——depth_clustering算法调试(1)
  • 论软件维护及其应用子问题
  • Android Profiler 内存分析
  • Java反序列化之CommonsCollections2链的学习
  • PyTorch版本的3D网络Grad-CAM可视化实验记录
  • HarmonyOS4.0系列——02、汉化插件、声明式开发范式ArkTS和类web开发范式
  • Cesium 展示——地球以及渲染数据导出(下载)为图片或 pdf
  • HarmonyOS简述及开发环境搭建
  • Python入职某新员工大量使用Lambda表达式,却被老员工喷是屎山
  • [Java 源码] 秋招常被问到 GC 相关的几道面试题(集中在分配以及回收)
  • C++:char* array = “Hello World“报错怎么办
  • Redis常用操作及应用(一)
  • C++学习——类和对象(上)
  • IvorySQL3.0:基于PG16.0最新内核,实现兼容Oracle数据库再升级
  • 前端css粘性布局,顶部吸附效果(position: sticky)
  • Lua判断字符串包含另一个字符串
  • python中模块的创建及引用(import as,import,from)
  • IP地址定位的误差问题及解析
  • 212. 单词搜索 II
  • react等效memo的方法
  • vue3安装eslint和prettier,最简单的步骤
  • Appium自动化测试:sdk版本和手机版本不兼容你就这样做,分分钟解决问题
  • 音视频学习(十九)——rtsp收流(tcp方式)
  • django 新建流程
  • Flask Session 登录认证模块