📅  最后修改于: 2023-12-03 15:08:15.034000             🧑  作者: Mango
在JavaScript中,可以通过以下几种方式从对象中删除键值对:
可以使用delete操作符删除对象中的属性,该操作符返回一个布尔值,表示删除是否成功。
const obj = {a: 1, b: 2, c: 3};
delete obj.b;
console.log(obj); // {a: 1, c: 3}
在上面的代码中,对象obj中的键b和对应的值2被删除了。
值得注意的是,delete操作符无法删除对象的属性,也无法删除继承的属性。
可以使用Object.assign方法从对象中删除属性,该方法将一个或多个源对象的属性复制到目标对象中,如果属性名相同,后面的属性会覆盖前面的属性。
const obj = {a: 1, b: 2, c: 3};
const newObj = Object.assign({}, obj);
delete newObj.b;
console.log(obj); // {a: 1, b: 2, c: 3}
console.log(newObj); // {a: 1, c: 3}
在上面的代码中,原对象obj中的键b和对应的值2保持不变,而新对象newObj中的键b和对应的值2被删除了。
可以使用解构赋值从对象中删除属性,该方法将一个或多个源对象的属性解构到新的对象中,并省略要删除的属性。
const obj = {a: 1, b: 2, c: 3};
const {b, ...newObj} = obj;
console.log(obj); // {a: 1, b: 2, c: 3}
console.log(newObj); // {a: 1, c: 3}
在上面的代码中,原对象obj中的键b和对应的值2保持不变,而新对象newObj中的键b和对应的值2被删除了。
以上三种方法都可以从JavaScript中的对象中删除键值对,可以根据实际情况选择使用。