回答編集履歴

2

別パターンも追記

2017/01/31 14:42

投稿

yamato_hikawa
yamato_hikawa

スコア2092

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

不要変数の削除

2017/01/31 14:42

投稿

yamato_hikawa
yamato_hikawa

スコア2092

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
- arr = array.slice().sort(preSort).sort(mainSort);
25
+ return array.slice().sort(preSort).sort(mainSort);
28
-
29
-
30
-
31
- return arr;
32
26
 
33
27
  };
34
28