You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Array构造函数创建仅含单个数字元素的数组

Array 构造函数的行为存在重载逻辑,这是你遇到问题的核心原因:

  • 当你传入单个正整数类型的参数时,构造函数会把该参数作为数组的 length 属性,返回对应长度的空槽数组,也就是你遇到的 new Array(4) 返回长度为4的空数组的情况
  • 当传入参数数量大于等于2,或是单个参数不是正整数类型时,构造函数就会把所有传入的参数直接作为数组的元素返回

你可以用下面几种方法实现需求:

方案1:用ES6新增的Array.of()(最简便)

这个方法就是为了解决Array构造函数的参数歧义问题设计的,无论传入多少个参数、参数是什么类型,都会直接把参数作为数组元素返回:

const arr = Array.of(4);
// 得到 [4]

方案2:兼容旧环境的原生构造函数写法

如果你需要适配不支持ES6的运行环境,可以用以下两种方式实现:

  • 方式1:创建长度为1的数组后填充值
const arr = new Array(1).fill(4);
// 得到 [4]
  • 方式2:先创建空数组再手动赋值
const arr = new Array();
arr[0] = 4;
// 得到 [4]

内容的提问来源于stack exchange,提问作者aryan singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:15:00