gpt4 book ai didi

javascript - Array(2) 和 [undefined, undefined] 有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 01:40:39 27 4
gpt4 key购买 nike

[undefined, undefined, undefined].map(function(val, i) { return i });

返回 [0, 1, 2],而

Array(3).map(function(val, i) { return i });

返回 [undefined, undefined, undefined].

为什么?

最佳答案

在第一种情况下,您定义初始化一个具有三个未定义值的新数组,而在第二种情况下,您定义一个可能长度为 3 的数组。

new Array(3) 和你一样:

var arr = [];
arr.length = 3;

因此,通过隐式定义 .length 属性,.map() 方法可以对内存中分配的数组进行迭代,该数组基本上包含零个定义项(即纯空)。

关于javascript - Array(2) 和 [undefined, undefined] 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14855717/

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