回答編集履歴
2
typo
answer
CHANGED
@@ -12,18 +12,18 @@
|
|
12
12
|
```
|
13
13
|
|
14
14
|
# 追記
|
15
|
-
ちなみに、今回は直接
|
15
|
+
ちなみに、今回は直接関係ありませんが三項演算を二重に使用するのは危険です。
|
16
16
|
どうしても書かなくてはいけないなら論理式ごとにカッコで囲んでください
|
17
17
|
|
18
18
|
```javascript
|
19
19
|
//本来はこう
|
20
|
-
|
20
|
+
function(o1, o2) {
|
21
21
|
if(o1.text === o2.text) return 0;
|
22
22
|
return (o1.text > o2.text ) ? 1 :-1;
|
23
23
|
}
|
24
24
|
|
25
25
|
//カッコで囲むならこう
|
26
|
-
|
26
|
+
function(o1, o2) {
|
27
27
|
return (o1.text > o2.text) ? 1 : ((o1.text < o2.text) ? -1 : 0);
|
28
28
|
}
|
29
29
|
```
|
1
追記
answer
CHANGED
@@ -9,4 +9,22 @@
|
|
9
9
|
<option value="val4">text4</option>
|
10
10
|
</select>
|
11
11
|
|
12
|
-
```
|
12
|
+
```
|
13
|
+
|
14
|
+
# 追記
|
15
|
+
ちなみに、今回は直接かんけいありませんが三項演算を二重に使用するのは危険です。
|
16
|
+
どうしても書かなくてはいけないなら論理式ごとにカッコで囲んでください
|
17
|
+
|
18
|
+
```javascript
|
19
|
+
//本来はこう
|
20
|
+
arr.sort(function(o1, o2) {
|
21
|
+
if(o1.text === o2.text) return 0;
|
22
|
+
return (o1.text > o2.text ) ? 1 :-1;
|
23
|
+
}
|
24
|
+
|
25
|
+
//カッコで囲むならこう
|
26
|
+
arr.sort(function(o1, o2) {
|
27
|
+
return (o1.text > o2.text) ? 1 : ((o1.text < o2.text) ? -1 : 0);
|
28
|
+
}
|
29
|
+
```
|
30
|
+
言語によっては式の評価順が違うため思わぬ結果が返ります
|