Array.map 似乎不适用于未初始化的数组[重复]

2023-12-29

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

考虑一下我在 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 ]

经过一番阅读后评论中链接的帖子 https://stackoverflow.com/questions/18947892/creating-range-in-javascript-strange-syntax/18949651#18949651,我发现这也可以写成

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将跳过未定义的值:(

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Array.map 似乎不适用于未初始化的数组[重复] 的相关文章

随机推荐

  • Angular.js 观察函数调用的结果

    以下代码片段是否存在任何表面问题 ul class breadcrumb li class active span nbsp a href path dir url dir name a nbsp span class dividier s
  • 如何在 pythonpyder IDE 中使用相对导入

    我有 anaconda python 并正在使用spyder IDE 我试图弄清楚如何在运行底部或 F5 中使用相对导入 假设我有 pkg A foo1 py pkg A foo2 py 并且 foo1 py 有 from import f
  • 如何修复手机上的 Skrollr?

    我遵循移动浏览器支持指南 将内容包装在正文标记之后和之前 解释在这里 https github com Prinzhorn skrollr what you need in order to support mobile browsers
  • PHP Curl 和 setcookie 问题

    我有一个curl 脚本 充当客户端和主服务器之间的代理 field array array Accept gt HTTP ACCEPT Accept Charset gt HTTP ACCEPT CHARSET Accept Encodin
  • 在 Magento ORM 中使用布尔字段

    我正在为我的自定义实体开发后端编辑页面 我几乎一切都正常工作 包括保存一堆不同的文本字段 但是 当尝试设置布尔字段的值时 我遇到了问题 我努力了 landingPage gt setEnabled 1 landingPage gt setE
  • 在域模型之间映射数据的模式

    这是我最近需要做的一件常见的事情 我正在寻找任何常见的模式来使这变得更容易一些 这一切的主要要点是我有一些数据模型 它们被建模来满足 ORM 并纯粹对对象进行 CRUD 操作 这些模型目前通过存储库 工厂公开 取决于其 C 还是 RUD 然
  • Matplotlib动画,移动方块

    我正在从文本文件加载 x y 坐标和偏航角 这些坐标是正方形中间的坐标 yaw 是正方形与 x 轴的角度 在我的文本文件中 坐标正在变化 我想制作一个动画 其中方块将移动 遵循文件中的坐标 并具有精确的偏航角 一个动画刻度应该代表一个方块移
  • 如何禁用一条指令的中断?

    有没有其他方法可以在持续时间内禁用中断只有一条指令 in x86 questions tagged x86比使用CLI操作说明 是的 正在加载SS with a MOV将禁止下一条指令的外部中断 指令集参考是这样说的 使用 MOV 指令加载
  • ODE45 和 Runge-Kutta 方法与解析解的绝对误差比较

    如果有人可以帮助解决以下问题 我将不胜感激 我有以下常微分方程 dr dt 4 exp 0 8 t 0 5 r r 0 2 t 0 1 1 我用两种不同的方式解决了 1 借助于龙格 库塔法 第四阶 并通过ode45在Matlab中 我将这两
  • Oracle:将子查询中的多个结果合并为单个逗号分隔值[重复]

    这个问题在这里已经有答案了 我正在尝试将单列子查询转换为命令分隔的子查询VARCHAR 键入的值列表 这与这个问题 https stackoverflow com questions 111341 combine multiple resu
  • 实体框架自连接[重复]

    这个问题在这里已经有答案了 我使用 Entity Framework 6 和 Code First 并且有一个具有以下结构的表 public class Item Key public int ItemId get set Required
  • VSTS - 在发布期间删除以前的部署

    我正在从事一个 Azure 项目 该项目只能使用 Visual Studio CI 中的 ARM 模板进行部署 并且我们只有对 Azure 门户的读取访问权限 目前我收到以下错误并且无法发布 我也无法从 Portal 中删除部署 因为我只有
  • 使用 PHP 更新 XML 文件

    使用 PHP 更新 XML 标记中的单个属性而不重写和保存文件的最简单方法是什么 有没有办法只使用常规的 DOM 东西来做到这一点 如果您的服务器上有 PHP5 您可以尝试 string
  • 如何将整个Access数据库导出到SQL Server? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我刚刚有了一个可爱的 Access 数据库 所以我想做的第一件事是将其转移到普通的数据库管理系统 sqlexpress 但是唯一的解决
  • 如何在 Visual Studio 中以 NT AUTHORITY\SYSTEM 身份进行调试?

    我正在尝试以 NT AUTHORITY SYSTEM 身份进行调试 我尝试使用以下问题中描述的方法 在 Visual Studio 中调试时以不同用户运行 https stackoverflow com questions 1287099
  • 当我将一个字典分配给另一个变量时,为什么 Python 会更新这两个字典? [复制]

    这个问题在这里已经有答案了 使用词典时如何避免以下情况 a b 1 c a c update b 2 print a b 2 print c b 2 通过使用字典copy 方法 就像这样 gt gt gt a b 1 gt gt gt c
  • Sybase IN 和 OUT 参数

    我对 Sybase JDBC 驱动程序如何处理混合存储过程感到非常着迷 IN and OUT参数 查看这个简单的存储过程 CREATE OR REPLACE PROCEDURE p IN i1 INT OUT o1 INT IN i2 IN
  • EF 每个层次结构表映射

    在尝试规范化数据库模式并将其映射到实体框架中时 我发现最终可能会出现一堆查找表 它们最终将只包含键和值对 我想将它们合并到一张表中 该表基本上有两列 键 和 值 例如 我希望能够使 Addresses AddressType 和 Perso
  • 如何避免使用大向量初始化的“编译器限制:编译器堆栈溢出”?

    在我的单元测试中 我收到以下编译器错误 The error message indicates as follows fatal error C1063 compiler limit compiler stack overflow 这是由一
  • Array.map 似乎不适用于未初始化的数组[重复]

    这个问题在这里已经有答案了 我正在尝试使用映射函数在未初始化的数组上设置默认值 但它似乎不起作用 关于如何设置默认值有什么想法吗 考虑一下我在 Chrome 控制台中尝试过的这段代码片段 gt var N 10 gt var x new A