0


JavaScript 删除对象中的某一项

delete

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

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

Reflect.deleteProperty

JavaScript

中的静态方法

Reflect.deleteProperty()

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

deleteoperator

,但它是一个函数。

Reflect.deleteProperty

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

Boolean

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

Reflect.deleteProperty语法

Reflect.deleteProperty(target, propertyKey)

参数

target

:删除属性的目标对象。

propertyKey

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

返回值

Boolean

:返回是一个

Boolean

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

异常

抛出一个

TypeError

,如果目标不是

Object

示例

使用Reflect.deleteProperty(),如下:

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

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

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

运行结果:

在这里插入图片描述

删除不存在的属性:

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

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

当删除的属性被冻结时:

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

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

删除属性之后,再访问:

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

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

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

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

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

target

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

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

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


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

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

还没有评论