gpt4 book ai didi

javascript - Array.map 似乎不适用于未初始化的数组

转载 作者:行者123 更新时间:2023-12-02 23:32:04 29 4
gpt4 key购买 nike

我尝试使用映射函数在未初始化的数组上设置默认值,但它似乎不起作用,关于如何设置默认值有什么想法吗?

考虑一下我在 Chrome 控制台中尝试过的这段代码片段。

> var N = 10;
> var x = new Array(N);
> x
[undefined x 10]

> x.map(function(i) { return 0;});
[undefined x 10]

我期望数组被初始化为 0。

最佳答案

如果您想填充数组,可以使用Array(5).fill(),然后这些方法将按预期工作 - 请参阅 aasha7 的替代相关答案。较旧的预填充方法包括:

Array.apply(null, new Array(5)).map(function() { return 0; });
// [ 0, 0, 0, 0, 0 ]

阅读了其中一篇 posts linked in the comments 后,我发现这也可以写成

Array.apply(null, {length: 5}).map(function() { return 0; });
<小时/>

但是,尝试对未定义的值使用 .map 是行不通的。

x = new Array(10);
x.map(function() { console.log("hello"); });

// so sad, no "hello"
// [ , , , , , , , , , ]

.map 将跳过未定义的值:(

关于javascript - Array.map 似乎不适用于未初始化的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20333654/

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