gpt4 book ai didi

javascript - 为什么 Object.keys([,1,,1]) 与 Object.keys([,1,undefined,1]) 不同?

转载 作者:行者123 更新时间:2023-11-29 10:30:08 25 4
gpt4 key购买 nike

我很震惊

document.writeln(Object.keys([,1,,1]));

1,3

自动过滤不包含任何内容的数组索引。但是当我尝试打印出 Object.keys([,1,undefined,1]) 时:

document.writeln(Object.keys([,1,undefined,1]));

结果是:

1,2,3

与上一个不同,我尝试在第一个打印索引2的值:

document.writeln([,1,,1][2]);

实际上是未定义的。为什么 Object.keys([,1,,1]) 和 Object.keys([,1,undefined,1]) 会返回不同的结果?

最佳答案

Object.keys([, 1, undefined, 1]) 情况下,您明确定义第三个元素为 undefined,但在 Object .keys([, 1, , 1]),没有与索引2关联的元素。因此,2 在第一种情况下被识别为数组索引,但在第二种情况下则不是。

只是为了表示数组中的空洞,当你实际引用它时,返回undefined。这就是为什么 [, 1, , 1][2]undefined 的原因。

关于javascript - 为什么 Object.keys([,1,,1]) 与 Object.keys([,1,undefined,1]) 不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48276884/

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