js 删除属性方法

42 阅读1分钟

方法1:delete 关键字

let obj = {name: "John", age: 30};
delete obj.age;
console.log(obj); // 输出:{name: "John"}

方法2:使用 undefined 赋值

let obj = {name: "John", age: 30};
obj.age = undefined;
console.log(obj); // 输出:{name: "John", age: undefined}

方法3:使用 Object.assign() 方法

let obj = {name: "John", age: 30};
obj = Object.assign({}, obj, {age: undefined});
console.log(obj); // 输出:{name: "John", age: undefined}

方法4:使用解构赋值方式

let obj = {name: "John", age: 30};
let {age, ...newObj} = obj;
console.log(newObj); // 输出:{name: "John"}

方法5:使用循环遍历方法,比如 Object.keys() 方法

let obj = {name: "John", age: 30};
let newObj = Object.keys(obj).reduce((result, key) => {
  if (key !== "age") {
    result[key] = obj[key];
  }
  return result;
}, {});
console.log(newObj); // 输出:{name: "John"}

个人推荐使用解构赋值方法,简单直接。