回答編集履歴

3

リンクが見えなかったので修正しました

2016/03/19 07:37

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
 
30
30
 
31
- この `compareTo()` を使った例ですが、以下のように、`name.length` が異なる人同士を比較すると、正しく動いていることが確認できます。(Java の標準ライブラリに [`compareTo()`](http://docs.oracle.com/javase/jp/8/docs/api/java/lang/Comparable.html#compareTo-T-) というメソッド(関数の一種)があるので、多分、著者の方は、それを真似た例を示したかったのではないかと)
31
+ この `compareTo()` を使った例ですが、以下のように、`name.length` が異なる人同士を比較すると、正しく動いていることが確認できます。(Java の標準ライブラリに [compareTo()](http://docs.oracle.com/javase/jp/8/docs/api/java/lang/Comparable.html#compareTo-T-) というメソッド(関数の一種)があるので、多分、著者の方は、それを真似た例を示したかったのではないかと)
32
32
 
33
33
 
34
34
 

2

軽微な修正

2016/03/19 07:37

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  if (person1.compareTo(person2) > 0) {
86
86
 
87
- document.write(person1 + "が大きい。");
87
+ document.write(person1 + "が大きい。");
88
88
 
89
89
  } else if (person1.compareTo(person2) < 0) {
90
90
 

1

name\.length が異なる人同士の比較について追記しました。

2016/03/19 07:34

投稿

tatsuya6502
tatsuya6502

スコア2035

test CHANGED
@@ -19,3 +19,103 @@
19
19
  }
20
20
 
21
21
  ```
22
+
23
+
24
+
25
+ ---
26
+
27
+ **追記**
28
+
29
+
30
+
31
+ この `compareTo()` を使った例ですが、以下のように、`name.length` が異なる人同士を比較すると、正しく動いていることが確認できます。(Java の標準ライブラリに [`compareTo()`](http://docs.oracle.com/javase/jp/8/docs/api/java/lang/Comparable.html#compareTo-T-) というメソッド(関数の一種)があるので、多分、著者の方は、それを真似た例を示したかったのではないかと)
32
+
33
+
34
+
35
+ ```javascript
36
+
37
+ function MyData(name,mail,tel){
38
+
39
+ this.name = name;
40
+
41
+ this.mail = mail;
42
+
43
+ this.tel = tel;
44
+
45
+
46
+
47
+ this.toString = function(){
48
+
49
+ return "[MyData " + this.name + "]";
50
+
51
+ }
52
+
53
+ this.equals = function(that){
54
+
55
+ return this.valueOf().length == that.valueOf().length;
56
+
57
+ }
58
+
59
+ this.valueOf = function(){
60
+
61
+ return this.toString();
62
+
63
+ }
64
+
65
+ this.compareTo = function(that){
66
+
67
+ return this.valueOf().length - that.valueOf().length;
68
+
69
+ }
70
+
71
+ }
72
+
73
+
74
+
75
+ var person1 = new MyData("山田太郎","taro@yamada.hoge","090-9999-9999");
76
+
77
+ var person2 = new MyData("田中花子","hanako@tanaka.hoge","080-8888-8888");
78
+
79
+ var person3 = new MyData("鈴木健太郎", "kentaro@suzuki.hoge", "070-7777-7777");
80
+
81
+
82
+
83
+ var compare = function(person1, person2) {
84
+
85
+ if (person1.compareTo(person2) > 0) {
86
+
87
+ document.write(person1 + "が大きい。");
88
+
89
+ } else if (person1.compareTo(person2) < 0) {
90
+
91
+ document.write(person2 + "が大きい。");
92
+
93
+ } else {
94
+
95
+ document.write(person1 + "と" + person2 + "は、同じ。");
96
+
97
+ }
98
+
99
+ document.write("</br>");
100
+
101
+ }
102
+
103
+
104
+
105
+ compare(person1, person2);
106
+
107
+ compare(person1, person3);
108
+
109
+ ```
110
+
111
+
112
+
113
+ **結果**
114
+
115
+ ```
116
+
117
+ [MyData 山田太郎]と[MyData 田中花子]は、同じ。
118
+
119
+ [MyData 鈴木健太郎]が大きい。
120
+
121
+ ```