こんにちは。KOUKIです。
今日は、JavaScriptのArrayデータを任意のサイズで小分けする方法をお伝えします!
こんな時に使いたい
サンプルとして、下記のArrayデータを用意しました。
1 |
let numberList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] |
このArrayデータを任意のsizeに分けたい場合は、どのようにすれば良いでしょうか?
たくさんの方法があると思いますが、以下の関数を実装すればOKです。
1 2 3 |
const chunk = (arrayData, chunkSize) => Array.from({length: Math.ceil(arrayData.length / chunkSize)}, (v, i) => arrayData.slice(i * chunkSize, i * chunkSize + chunkSize)); |
先ほどのArrayデータを3つのarrayに小分けします。
1 2 3 4 5 6 7 8 9 10 11 12 |
// 第一引数にArrayデータ、第二引数にsizeを渡す let datas = chunk(numberList, 3) datas (4) [Array(3), Array(3), Array(3), Array(1)] 0: (3) [1, 2, 3] 1: (3) [4, 5, 6] 2: (3) [7, 8, 9] 3: [0] length: 4 __proto__: Array(0) ``` |
OKですね。
これは、意外に便利かもしれません。
コメントを残す
コメントを投稿するにはログインしてください。