###理解したいこと
javascriptの比較関数が理解できません。
分かりやすいサイトを探しているのですが、
どなたか教えていただけないでしょうか。
###発生している問題・エラーメッセージ
「3ステップでしっかり学ぶ Java Script入門」という本で勉強をしています。
arrayオブジェクトの説明文に、sortメソッドの並び替えを行う構文がありました。
sortメソッドの動きは理解できたのですが、
何故、比較関数(return a - b;)を使うと綺麗にソートできるのか
調べてもわかりませんでした。
<script type="text/javascript"> function compare(a, b){ return a - b; } var ages = new Array(4, 6, 10, 24, 1, 11, 40); ages = ages.sort(compare); document.write(ages.join(" > ")); </script>
###試したこと
以下のサイトを見つけ、コメントの説明を読んでみましたが
理解できませんでした・・・。
(sortメソッドの仕組みはわかりました。)
Sort()メソッドは デフォルトで、a,b,c,dと並んでいる場合、先頭から順にa<=bならa,bのまま、a>bならb,aに、という作業を繰り返していきます。ですから、比較関数で、何によってソートさせたいかを指定することで、いろいろなソートが実現可能になります。b-aとする場合、比較条件がすべて逆になりますから、降順となるわけです。
どなたか、わかりやすいサイトや説明があるサイトをご教授いただけないでしょうか。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/12 07:52
2017/06/12 07:59
2017/06/12 09:17