まとめsort()とは?sort()は、JavaScriptで並び替えを実現するメソッドになります。文字列順や数字の大小などによる昇順・降順で対象の値を並び替えることができるようになるので、データの操作などでよく使われます。配列に格納されたバラバラの値やオブジェクトのキー(プロパティ)を対象にして並び替えることも可能なので、活用範囲はとても広いと言えます。sort()は元の配列データを変更してしまう破壊的メソッドでもある点には注意が必要です。sort()メソッドのもっとも基本的な使い方について学んでいきます。文字列をソートするには、ソートしたい文字列が格納されている配列を対象に「sort()」メソッドを呼び出します。次のプログラムで確認してみましょう。"sa"]この例では、文字列が格納された配列に対して「sort()」を実行しています。実行結果を見るとアルファベット順に並び替えられているのがわかりますね。比較関数について単純な文字列の並び替えであればsort()をそのまま実行すればいいのですが、数値やオブジェクト構造などの場合だと上手くできません。このような場合には「比較関数」と言って、2つの値を比較しながら1つずつ順番を入れ替えていく手法を取ります。b」を比較した結果を返していますね。これにより、「a」が「b」よりも小さいかどうかを確認することで、順番を入れ替えるというわけです。-」などを使って比較することで昇順・降順などを変更することができます。あとは、この関数をsort()の引数に当てはめれば完成です。昇順・降順の並び替え方法について学んでいきます。sort()で数値をソート(並び替え)する方法ここでは、数値をソートする方法を解説します。数値をソートするには、引数に比較関数(compareFunction)を指定します。引数に比較関数を指定しない場合には文字列として比較されるので注意が必要です。次のプログラムで確認してみましょう。55]このようにして数値をソートすることができました。sort()で降順によるソート(並び替え)をする方法ここでは、降順でソートする方法を解説します。降順でソートするには、引数の比較関数を降順になるように指定します。次のプログラムで確認してみましょう。3]このようにして降順にソートすることができました。オブジェクトのプロパティを活用した並び替え手法について学んでいきます。実は基本的なソート方法はこれまでとほとんど同じです。値」という形式になっています。このプロパティを利用して「sort()」メソッドで並び替えを行うのがポイントなのです。b.name」のようにプロパティを比較することで、並び替えを実現しているわけです。実行結果を見ると果物の名称が昇順で並び替えられているのが分かりますね。「sort()」の破壊的メソッドについてsortメソッドは元の配列を変更してしまう破壊的メソッドなので、使うときには注意してください。元の配列を残しておきたい場合には、sliceで配列のコピーを作成します。次のプログラムで確認してみましょう。"sa"]このようにして、元の配列を残してソートすることができました。sort()の使い方まとめ最後に、sort()の基本的な使い方についてまとめておきます。単純な文字列を並び替える場合は、対象の文字列にそのままsort()を実行すればOKです。"sa"]この例では、文字列が格納された配列の要素に対してsort()が実行されて並び替えられているのが分かりますね。文字列ではなく数値を並び替える場合は比較関数を使ってsort()を実行します。55]比較関数は2つの値を比較して値の大小を1つずつ決めていくことで並び替えていきます。a」に条件を変えるだけで実行可能です。オブジェクト構造が格納されている配列で、特定のキー(プロパティ)を対象にして並び替えたい時はそのプロパティ名を指定した比較関数を作ります。b.name;})この例では、「name」プロパティに格納されている値を対象にして並び替えをしています。まとめ今回はsortメソッドでソートする方法を解説しました。sortメソッドは降順にもソートできるので、ぜひ活用してくださいね。ソートをする方法を忘れてしまったらこの記事を確認してください!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。丈フリーランスエンジニア。システム開発からコンテンツ作成まで幅広く対応します。