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

JavaScript如何创建指定长度且所有元素均为0的数组

解答

1. 你写的for循环存在小错误

你给出的for循环终止条件设置有误,i < 525599只会遍历索引0到525598,合计525599个元素,会缺失最后一个索引为525599的元素。把终止条件改成i < 525600就可以正常运行,实现给525600个元素统一赋值0的需求。

2. 更简洁的单行写法

有两种常用的原生JS实现方案,都可以一行完成需求:

方案1:Array.prototype.fill()(最推荐你的场景使用)

// 365天的年份
const minutesOfTheYear = new Array(525600).fill(0);
// 364天的年份
const minutesOfTheYear = new Array(524160).fill(0);

逻辑说明:new Array(指定长度)会先创建对应长度的空数组,调用fill(0)会将数组所有位置统一填充为0。由于你填充的是原始类型数值0,不存在引用共享的问题,性能和可读性都很高。
如果需要动态适配不同天数的年份,可以提前计算长度再传入:

// 按你的业务规则判断当年天数是364还是365
const yearDayCount = 365;
const minutesOfTheYear = new Array(yearDayCount * 24 * 60).fill(0);

方案2:Array.from()(适合后续需要动态生成初始值的场景)

const minutesOfTheYear = Array.from({length: 525600}, () => 0);

这个方案的优势是扩展性更强,如果后续需要给每个元素设置和索引相关的不同初始值,只需要修改回调函数即可,比如(index) => index就可以生成索引值为元素值的数组。

内容的提问来源于stack exchange,提问作者Adam Dolson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:27:04