为什么减少数组的长度会使最后一个元素未定义但长度不会改变?

您好,我是 javascript 新手。

我试图将数组的长度减少 1。

我这样做了,最后一个元素是undefined现在,但长度仍然是5。

var arr = [1, 2, 3, 4, 5];
arr.length = arr.length--;

console.log(arr);
console.log(arr.length);

回答

arr.length--将减少长度,1但会返回前一个 length,这意味着您将数组的长度减少 1,然后立即将前一个长度分配给arr.length,这意味着您将其改回五元素数组(但您已经删除了第五个元素,就是现在undefined

如果你只想减少数组的长度,你可以arr.length--;单独使用。

var arr = [1, 2, 3, 4, 5];
arr.length--;

console.log(arr);
console.log(arr.length);


以上是为什么减少数组的长度会使最后一个元素未定义但长度不会改变?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>