javascript 値が連続した配列を1行で作成する
- 作成日 2020.11.02
- 更新日 2022.12.27
- javascript
- javascript
javascriptで、値「0 1 2 3 …」といった連続した配列を1行で作成するサンプルコードを記述してます。「apply」と「map」を使用します。「fill」と「map」を使用するやり方もあります。
環境
- OS windows11 pro 64bit
- Apache 2.4.43
- ブラウザ chrome 108.0.5359.125
配列作成
「apply」で長さを指定して「map」を使用すれば、たった1行で連続した値の配列を作成することが可能です。
// 0~9 までの連続した配列を作成
console.log(
Array.apply(null, {length: 10}).map((v, index) => index)
);
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
開始位置は「map」で演算することで調整できます。
console.log(
Array.apply(null, {length: 10}).map((v, index) => index + 100 )
);
// [100, 101, 102, 103, 104, 105, 106, 107, 108, 109]
全ての値を2倍にしたい場合は、以下となります。
console.log(
Array.apply(null, {length: 10}).map((v, index) => index * 2)
);
// [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
以下のよう「fill」を使用しても、同じことが可能です。
console.log(
Array(10).fill().map((v, index) => index)
);
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
console.log(
Array(10).fill().map((v, index) => index + 1)
);
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
パフォーマンスは「apply」を使用したほうがいいです。
ちなみに、スプレッド構文とMapを使用しても、同じことが可能です。
console.log([...Array(10)].map( (x, i) => i + 1 ));
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for文を使用
1行ではないですが、for文を使用して作成することもできます。
arr = [];
for (i = 0; i < 10; i++) {
arr.push(i);
}
console.log(arr);
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
全てture
また、例えば全ての配列の値を「true」にしたい場合は、以下のようにすることで可能です。
console.log([...Array(5)].map( () => true ));
// [true, true, true, true, true]
-
前の記事
CMS「BoltWire」をインストールする手順 2020.11.01
-
次の記事
python 数字を整数と少数を分けて取得する 2020.11.02
コメントを書く