gpt4 book ai didi

javascript - JavaScript 数组中的负索引是否应该影响数组长度?

转载 作者:IT王子 更新时间:2023-10-29 02:49:54 26 4
gpt4 key购买 nike

在 javascript 中我定义了这样一个数组

var arr = [1,2,3];

我也可以

arr[-1] = 4;

现在如果我这样做

arr = undefined;

我也失去了对 arr[-1] 值的引用。

所以对我来说逻辑上 arr[-1] 也是 arr 的一部分。

但是当我执行以下操作时(没有将 arr 设置为 undefined)

arr.length;

它返回3而不是4

所以我的观点是如果数组可以与负索引一起使用,这些负索引也应该是它们长度的一部分**。我不知道是我错了还是我遗漏了一些关于数组的概念。

最佳答案

SO for me logically it seems like arr[-1] is also a part of arr.

是的,但不是您认为的那样。

您可以为数组分配任意属性(就像 JavaScript 中的任何其他对象一样),这就是您在 -1 处“索引”数组并分配值时所做的事情。由于这不是数组的成员,只是一个任意属性,因此您不应期望 length 考虑该属性。

换句话说,下面的代码做同样的事情:

​var arr = [1, 2, 3];

​arr.cookies = 4;

alert(arr.length) // 3;

关于javascript - JavaScript 数组中的负索引是否应该影响数组长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13618571/

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