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

扩展运算符结合Array.keys()如何工作?解析输出0-9索引的原理

解析[...Array(10).keys()]的工作机制

拆解成三步就能明白这段代码的逻辑:

  • 第一步:Array(10)创建空数组
    调用Array(10)会生成一个长度为10的空数组,结构是[empty × 10]——它的length属性是10,但数组里没有实际的元素(是空位,不是undefined)。

  • 第二步:.keys()生成索引迭代器
    数组的keys()方法会返回一个数组迭代器对象。这个迭代器的作用是遍历数组的所有合法索引,不管对应位置有没有元素。对于长度为10的数组,合法索引就是从0到9,所以这个迭代器会依次产出0、1、2……9这些数值。

  • 第三步:扩展运算符...展开迭代器
    扩展运算符...可以把可迭代对象(比如这里的数组迭代器)的所有元素逐个提取出来,然后组装成一个新数组。把keys()返回的迭代器展开后,就得到了包含0到9的完整数组。

所以执行console.log([...Array(10).keys()])时,最终输出的就是[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]这个索引序列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:54:36