数组列表元素上的Javascript删除运算符
我对数组元素上的delete操作符的用法感到困惑 我发现delete可以与数组元素一起使用,它删除了元素,但不更新数组长度,因此基本上该元素被替换为undefined。但是当我测试它时,我发现它将替换为blank数组列表元素上的Javascript删除运算符,javascript,arrays,Javascript,Arrays,我对数组元素上的delete操作符的用法感到困惑 我发现delete可以与数组元素一起使用,它删除了元素,但不更新数组长度,因此基本上该元素被替换为undefined。但是当我测试它时,我发现它将替换为blank var test = new Array() delete test[id]; 关于这一点,我有3点 test[id]id在这里是元素或元素的索引,正如我读到的,id可以是两者。但当我测试它时,我发现它只有在通过索引时才起作用 如果数组没有元素,而我试图通过传递任何值(如delete
var test = new Array()
delete test[id];
关于这一点,我有3点
test[id]
id在这里是元素或元素的索引,正如我读到的,id可以是两者。但当我测试它时,我发现它只有在通过索引时才起作用deletetetest[3]
)来删除,该怎么办delete
不会从数组中实际删除元素。它只会将值设置为undefined
delete
不会改变数组的长度
删除
演示
var-arr=[1,2,3,4,5];
删除arr[2];
文件编写(arr);
控制台日志(arr);
文件。写入(“
长度:”+arr.Length)代码>删除运算符从对象中删除属性。-你为什么不试试呢?@torazaburo是的,我终于试过了,我正在更新问题[]
比使用new Array()
创建新数组更好