JavaScript

Array.prototype.fill()メソッド

 編集:2022.08.18 by T.A.

その Array に、指定範囲の要素に指定値で満たして返します。元の Array の内容は変更されます。

arr.fill(value[, start[, end]])
arr Arrayオブジェクト
value 配列に設定する値です。
start 開始する位置です。既定値は 0 です。
end 終了する位置です。既定値は this.length です。

戻り値: 変更された配列です。

解説

¶省く

A=[1, 2, 3];
D=A.fill(10); //=[10, 10, 10]
D=A; //=[10, 10, 10]
D=[1, 2, 3].fill(10, 1);        //=[1, 10, 10]
D=[1, 2, 3].fill(10, 1, 2);     //=[1, 10, 3]
D=[1, 2, 3].fill(10, 1, 1);     //=[1, 2, 3]
D=[1, 2, 3].fill(10, 3, 3);     //=[1, 2, 3]
D=[1, 2, 3].fill(10, -3, -2);   //=[10, 2, 3]
D=[1, 2, 3].fill(10, 3, 5);     //=[1, 2, 3]
D=[1, 2, 3].fill(10, NaN, NaN); //=[1, 2, 3]
D=Array(3).fill(4);              //=[4, 4, 4]
D=[].fill.call({ length:3 }, 4); //={0: 4, 1: 4, 2: 4, length: 3}

// ひとつのオブジェクト、配列の各スロットによって参照されます:
let arr = Array(3).fill({}); //=[{}, {}, {}]
arr[0].hi="hi"; //arr=[{hi:"hi"}, {hi:"hi"}, {hi:"hi"}]
arr[2].P1="あ"; //arr=[{hi:"hi", P1:"あ"}, {hi:"hi", P1:"あ"}, {hi:"hi", P1:"あ"}]
arr[0].hi="い"; //arr=[{hi:"い", P1:"あ"}, {hi:"い", P1:"あ"}, {hi:"い", P1:"あ"}]
arr[1]="う";    //arr=[{hi:"い", P1:"あ"}, "う", {hi:"い", P1:"あ"}]

テスト