如何从JavaScript关联数组中删除对象?

假设我有以下代码:

var myArray=new Object();
myArray["firstname"]="“鲍勃”;;
myArray["lastname"]="“史密斯”;;
myArray[“年龄”]=25;

现在如果我想删除;lastname;?。。。。有没有类似的
myArray["lastname"]。删除()

(我需要删除元素,因为元素的数量很重要,我希望保持干净。)

JavaScript中的对象可以看作是关联数组,将键(属性)映射到值

要从JavaScript中的对象中删除属性,请使用delete操作符:

const o={lastName:'foo'}
o、 hasOwnProperty('lastName')//true
删除o['lastName']
o、 hasOwnProperty('lastName')//false

请注意,当delete应用于数组的索引属性时,您将创建一个稀疏填充的数组(即缺少索引的数组)

在处理数组的实例时,如果您不想创建一个稀疏填充的数组(通常不想),那么您应该使用数组#拼接数组#弹出

请注意,JavaScript中的delete操作符不会直接释放内存。其目的是从对象中删除属性。当然,如果要删除的属性包含对对象的唯一剩余引用o,则o将以正常方式进行垃圾收集

使用delete操作符可能会影响JavaScript引擎优化代码的能力

发表评论