gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 09:32:44 25 4
gpt4 key购买 nike

你好,我是 javascript 的新手。

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

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

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

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

我很困惑。而不是 [1, 2, 3, 4][1, 2, 3, 4, 5]。为什么它给我 [1, 2, 3, 4, undefined]

谁能解释一下?谢谢

最佳答案

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);

关于javascript - 为什么减少数组的长度会使最后一个元素未定义但长度不变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67715080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com