fill()直接填充整个数组且原地修改:传入value参数默认从索引0填至末尾,如[1,2,3,4].fill('x')→['x','x','x','x'];array(5).fill(0)创建并填充5个0;注意array(3).fill({})所有项引用同一对象。

直接调用 fill() 并传入一个值,就能填充整个数组。
基础用法:一行填满全部元素
只要提供 value 参数,不写 start 和 end,它就默认从索引 0 开始、填到数组末尾(即整个数组):
-
[1, 2, 3, 4].fill('x')→['x', 'x', 'x', 'x'] -
Array(5).fill(0)→[0, 0, 0, 0, 0](先创建空数组再填充) -
['a', 'b', 'c'].fill(null)→[null, null, null]
注意原数组会被直接修改
fill() 是原地操作,不生成新数组,而是改原来的那个:
用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
-
const arr = [10, 20, 30]; arr.fill('done');后,arr就变成['done', 'done', 'done'] - 它也返回该数组,所以可链式调用(但本身无新增逻辑)
常见搭配:初始化固定长度数组
配合 Array(length) 创建稀疏数组,再用 fill() 填实值,是初始化的标准写法:
-
Array(4).fill('')→['', '', '', ''] -
Array(3).fill({})要小心——所有项引用同一个对象;如需独立对象,应改用Array(3).fill().map(() => ({}))
负索引?这里不需要
填整个数组时无需用负数。但如果你误加了负的 start 或 end,比如 [1,2,3].fill(9, -10, 10),内部会自动截断为合法范围 [0, 3),结果仍是全填。










