回答編集履歴

1

ソート順指定の実装例を追記

2017/09/30 17:07

投稿

退会済みユーザー
test CHANGED
@@ -55,3 +55,61 @@
55
55
  */
56
56
 
57
57
  ```
58
+
59
+
60
+
61
+ 追記:
62
+
63
+ 更新頂いたソート条件を実装すると下記のようになるでしょうか。
64
+
65
+ もっとすっきりした書き方もあるかもしれません。
66
+
67
+ ```javascript
68
+
69
+ function compare(a, b) {
70
+
71
+ if (typeof(a) == typeof(b)) {
72
+
73
+ if (a < b) {
74
+
75
+ return -1;
76
+
77
+ } else {
78
+
79
+ return 1;
80
+
81
+ }
82
+
83
+ } else {
84
+
85
+ if (typeof(a) < typeof(b)) {
86
+
87
+ return -1;
88
+
89
+ } else {
90
+
91
+ return 1;
92
+
93
+ }
94
+
95
+ }
96
+
97
+ }
98
+
99
+
100
+
101
+ var arr = ["One", 1, true];
102
+
103
+ arr.sort(compare);
104
+
105
+ // => [true, 1, "One"]
106
+
107
+
108
+
109
+ arr = ["One", 1, true, false, "Two", 3, 2, "Three"];
110
+
111
+ arr.sort(compare);
112
+
113
+ // => [false, true, 1, 2, 3, "One", "Three", "Two"]
114
+
115
+ ```