假设我有以下代码:
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引擎优化代码的能力