Menu

キーワード

  • JavaScript
  • 配列, Array

したいこと

たとえば

[1, 2, 3, 4, 5]

を3つずつの配列に分解するとして、

[[1, 2, 3],[4, 5]]

を作りたい。

どうやって

list.reduce((table, item) => {
	const last = table[table.length - 1];
	if (last.length === 3) {
		table.push([item]);
		return table;
	}
	last.push(item);
	return table;
}, [[]]);

なお書き

特段トリッキーなことはしてない。

reduceには初期値を与えられるのがみそ。

参考

スポンサーリンク