質問するログイン新規登録

回答編集履歴

1

コード追加

2020/01/11 12:14

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,2 +1,37 @@
1
1
  これと同じ?
2
- https://teratail.com/questions/234337
2
+ https://teratail.com/questions/234337
3
+
4
+ こんな感じ?
5
+
6
+ ```javascript
7
+ const data = [
8
+ [NaN, NaN, NaN, NaN],
9
+ [1, 2, 3, 4],
10
+ [1, 2, 3, 4],
11
+ [1, 2, 3, 4],
12
+ [5, 6, 7, 8],
13
+ [5, 6, 7, 8],
14
+ [5, 6, 7, 8],
15
+ [9, 10, 11, 12],
16
+ [9, 10, 11, 12],
17
+ [9, 10, 11, 12],
18
+ ];
19
+ const split = (array, n) => array.reduce(
20
+ (a, c, i) => i == 0 ? [c]
21
+ : i % n == 1 ? [...a, [...c]]
22
+ : [...a.slice(0, -1), a[a.length - 1].map((v, i) => v + c[i])],
23
+ []);
24
+ const result = split(data, 3);
25
+ console.log(result)
26
+ ```
27
+
28
+ 実行結果
29
+
30
+ ```
31
+ [
32
+ [ NaN, NaN, NaN, NaN ],
33
+ [ 3, 6, 9, 12 ],
34
+ [ 15, 18, 21, 24 ],
35
+ [ 27, 30, 33, 36 ]
36
+ ]
37
+ ```