回答編集履歴
2
別パターンも追記
test
CHANGED
@@ -33,3 +33,29 @@
|
|
33
33
|
|
34
34
|
|
35
35
|
```
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
行数は減りますが、sort+concat+filter×2と、メソッドの使用回数は増えます。
|
40
|
+
|
41
|
+
```javascript
|
42
|
+
|
43
|
+
const pointSort = function(array, num) {
|
44
|
+
|
45
|
+
const preSort = (a, b) => a - b,
|
46
|
+
|
47
|
+
overFilter = (v) => v >= num,
|
48
|
+
|
49
|
+
lessFilter = (v) => v < num,
|
50
|
+
|
51
|
+
arr = array.slice().sort(preSort);
|
52
|
+
|
53
|
+
return arr.filter(overFilter).concat(arr.filter(lessFilter));
|
54
|
+
|
55
|
+
};
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
pointSort([4, 1, 3, 2, 5, 7, 6], 4); // [4, 5, 6, 7, 1, 2, 3]
|
60
|
+
|
61
|
+
```
|
1
不要変数の削除
test
CHANGED
@@ -18,17 +18,11 @@
|
|
18
18
|
|
19
19
|
}
|
20
20
|
|
21
|
-
|
22
|
-
|
23
21
|
return a - b;
|
24
22
|
|
25
|
-
}
|
23
|
+
};
|
26
24
|
|
27
|
-
|
25
|
+
return array.slice().sort(preSort).sort(mainSort);
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
return arr;
|
32
26
|
|
33
27
|
};
|
34
28
|
|