JavaScript中数组上的delete运算符的尴尬行为
JavaScript中的delete运算符实际上是一个对象运算符(与对象一起使用)。
但是由于数组也是JavaScript中的索引对象,因此我们也可以对数组使用delete运算符。
考虑以下文字数组-
const arr = ['a', 'b', 'c', 'd', 'e'];
示例
现在让我们执行以下程序,并猜测预期的输出-
const arr = ['a', 'b', 'c', 'd', 'e']; delete arr[4]; console.log(arr); console.log(arr.length);
输出结果
该程序在控制台中的输出将为-
[ 'a', 'b', 'c', 'd', <1 empty item> ] 5
了解输出-
由于我们删除了数组的一个索引值,因此我们期望array.length输出4而不是5。但是delete运算符仅从内存位置中删除该值,并且该位置仍被数组占用。
这不会改变数组的长度,我们仍然看到数组中有5个元素,只是一个内存位置现在是空的。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短