Js对象挑选属性

1 分钟
34 阅读
Js对象挑选属性
js 复制代码
const obj = {
  name: '张三',
  age: 20,
  sex: '男',
  name1: '张三1',
};

// 当不需要name1传递时,怎么做呢?

// 方式1
delete obj.name1;

// 方式2
const newObj = {
  name: obj.name,
  age: obj.age,
  sex: obj.sex,
};

// 方式3
const newObj = {
  ...obj,
  name1: undefined,
};

// 其实可以使用一种更优雅的方式
const { name1, ...newObj } = obj;

// 或者使用lodash的omit或者pick方法

const { name1,...newObj } = obj;
```,将 obj 对象中的 name1 属性提取出来,并将剩余的属性值收集到 newObj 对象中。

  1. name1 - 是原始对象 obj 中的一个属性,它将被赋值给一个新的变量 name1
  2. ...newObj - 是对象扩展运算符,表示将 obj 对象中除了 name1 之外的所有属性提取到一个新对象中。

因此,这种方式可以方便地从原始对象中分离出不需要的属性,从而得到一个更简洁、更符合需求的新对象。同时,它也避免了像你提到的方式 1、2、3 那样需要额外的操作,比如使用 delete、创建新对象并逐个赋值,或者使用 undefined 来占位。总的来说,它是一种更直观、更高效的方式来处理对象中的属性。

评论

评论

发表评论