2
1

More than 3 years have passed since last update.

【JavaScript】sortメソッドの使い方

Last updated at Posted at 2021-01-30

プログラミング勉強日記

2021年1月30日
sortメソッドの使い方を簡単にまとめる。

sortメソッドとは

 JavaScriptで並び替えを行うメソッド。具体的には文字列や数字の昇順・降順で対象の値を並び替えることができる。ただ、sortメソッドは、元の配列データを変更してしまうメソッドでもあるので、注意が必要。

使い方
配列名.sort();

文字列をソートする

 文字列をソートするためには、ソートしたい文字列が格納されている配列を対象にsortメソッドを呼び出す。

let str = ["baseball", "soccer", "tennis", "swimming", "basketball"];
str.sort();

console.log(str);
実行結果
["baseball", "basketball", "soccer", "swimming", "tennis"]

数字をソートする

 数値をソートするためには、引数に比較関数を指定する。比較関数は2つの値を比較しながら1つずつ順番を変えてく方法である。

昇順に並び替え
// 比較関数
function sortNumber(a, b) {
  return a - b;
}

let num = [5, 3, 10, 6, 72, 27];
num.sort(sortNumber);
実行結果
[3, 5, 6, 10, 27, 72]
降順に並び替え
// 比較関数
function sortNumber(a, b) {
  return b - a;
}

let num = [5, 3, 10, 6, 72, 27];
num.sort(sortNumber);

console.log(num);
実行結果
[72, 27, 10, 6, 5, 3]

sortメソッドの注意点

 記事の冒頭でsortメソッドは元の配列を変更してしまう破壊的メソッドであると書いた。元の配列を残しておきたい場合には、sliceメソッドで配列のコピーを作成しておくといい。

let str = ["baseball", "soccer", "tennis", "swimming", "basketball"];
let str_copy = str.slice();
str.sort();

console.log(str);
console.log(str_copy);
実行結果
["baseball", "basketball", "soccer", "swimming", "tennis"]
["baseball", "soccer", "tennis", "swimming", "basketball"]
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1