回答編集履歴

1

修正

2019/05/29 18:25

投稿

NozomuIkuta
NozomuIkuta

スコア1260

test CHANGED
@@ -18,69 +18,65 @@
18
18
 
19
19
  function serializeArray (array, separator) {
20
20
 
21
- const chunkedArray = array.reduce(function(chunkedArray, current) {
21
+ return array
22
22
 
23
- if (!chunkedArray.length) {
23
+ .reduce(function(chunkedArray, current) {
24
24
 
25
+ if (!chunkedArray.length) {
26
+
25
- chunkedArray.push([ current ])
27
+ chunkedArray.push([ current ])
28
+
29
+
30
+
31
+ return chunkedArray
32
+
33
+ }
34
+
35
+
36
+
37
+ const lastChunk = chunkedArray[chunkedArray.length - 1]
38
+
39
+ const lastElement = lastChunk[lastChunk.length - 1]
40
+
41
+
42
+
43
+ if (lastElement + 1 === current) {
44
+
45
+ lastChunk.push(current)
46
+
47
+ } else {
48
+
49
+ chunkedArray.push([ current ])
50
+
51
+ }
26
52
 
27
53
 
28
54
 
29
55
  return chunkedArray
30
56
 
31
- }
57
+ }, [])
32
58
 
59
+ .map(function(chunk) {
33
60
 
61
+ const first = chunk[0]
34
62
 
35
- const lastChunk = chunkedArray[chunkedArray.length - 1]
63
+
36
64
 
37
- const lastElement = lastChunk[lastChunk.length - 1]
65
+ if (chunk.length === 1) {
38
66
 
67
+ return first + ''
39
68
 
69
+ }
40
70
 
41
- if (lastElement + 1 === current) {
71
+
42
72
 
43
- lastChunk.push(current)
73
+ const last = chunk[chunk.length - 1]
44
74
 
45
- } else {
75
+
46
76
 
47
- chunkedArray.push([ current ])
77
+ return first + separator + last
48
78
 
49
- }
50
-
51
-
52
-
53
- return chunkedArray
54
-
55
- }, [])
56
-
57
-
58
-
59
- const serializedArray = chunkedArray.map(function(chunk) {
60
-
61
- const first = chunk[0]
62
-
63
-
64
-
65
- if (chunk.length === 1) {
66
-
67
- return first + ''
68
-
69
- }
70
-
71
-
72
-
73
- const last = chunk[chunk.length - 1]
74
-
75
-
76
-
77
- return first + separator + last
78
-
79
- })
79
+ })
80
-
81
-
82
-
83
- return serializedArray
84
80
 
85
81
  }
86
82