0


JavaScript 删除对象中的某一项

delete

  1. let obj={a:1,b:2,c:3,d:4,e:5,f:6}
  2. delete obj.b
  3. console.log(obj)

运行结果:
在这里插入图片描述

Reflect.deleteProperty

  1. JavaScript

中的静态方法

  1. Reflect.deleteProperty()

允许用于删除对象上的属性。它很像

  1. deleteoperator

,但它是一个函数。

  1. Reflect.deleteProperty

允许删除一个对象上的属性。返回一个

  1. Boolean

值表示该属性是否被成功删除。

Reflect.deleteProperty语法

  1. Reflect.deleteProperty(target, propertyKey)

参数

  1. target

:删除属性的目标对象。

  1. propertyKey

:将被删除的属性的名称。

返回值

  1. Boolean

:返回是一个

  1. Boolean

值,表明该属性是否被成功删除。

异常

抛出一个

  1. TypeError

,如果目标不是

  1. Object

示例

使用Reflect.deleteProperty(),如下:

  1. let obj ={x:1,y:2};
  2. Reflect.deleteProperty(obj,'x');// true
  3. obj // {y: 2}

运行结果:
在这里插入图片描述

  1. let arr =[1,2,3,4,5];
  2. Reflect.deleteProperty(arr,'3');// true
  3. arr;

运行结果:

在这里插入图片描述

删除不存在的属性:

  1. // Returns true if no such property exists
  2. Reflect.deleteProperty({},'foo');// true

运行结果:
在这里插入图片描述

当删除的属性被冻结时:

  1. // Returns false if a property is unconfigurable
  2. Reflect.deleteProperty(Object.freeze({foo:1}),'foo');

运行结果:
在这里插入图片描述

删除属性之后,再访问:

  1. const obj ={a:76};
  2. Reflect.deleteProperty(obj,'a');
  3. console.log('obj.a:',obj.a);

运行结果:
在这里插入图片描述

删除存在和不存在的属性:

  1. const arr =[1,2,3,4,5];
  2. Reflect.deleteProperty(arr,'12');
  3. console.log(arr);
  4. Reflect.deleteProperty(arr,'1');
  5. console.log(arr);
  6. Reflect.deleteProperty(arr,'2');
  7. console.log(arr);

运行结果:
在这里插入图片描述

  1. target

不是对象时,会抛出异常,如下:

  1. const obj =1try{
  2. Reflect.deleteProperty(obj,'a')}catch(error){
  3. console.log('catch error:',error)}

运行结果:
在这里插入图片描述


本文转载自: https://blog.csdn.net/HH18700418030/article/details/127676982
版权归原作者 *且听风吟 所有, 如有侵权,请联系我们删除。

“JavaScript 删除对象中的某一项”的评论:

还没有评论