▲TOPへ戻る

【javascript】配列の並び替えreverse()とsort() 昇降順の並び替えの仕方

array

array.reverse()

数字でも文字列でも、最後から順番に並び替えられます。

  //  数字
  const number = [1, 2, 3, 4, 5];
  number.reverse(); //  => [5, 4, 3, 2, 1]
  //  アルファベット(文字列)
  const arf = ["a", "b", "c", "d", "e"];
  arf.reverse(); //  => ["e", "d", "c", "b", "a"]

array.sort()

数字

バラバラの数字が小さい方から順(昇順)に並び変えられます。

  //  数字
  const number = [2, 4, 5, 3, 1];
  number.sort(); //  => [1, 2, 3, 4, 5]

sort(関数)で、大きい順(降順)に並び変えることができます。

  //  数字
  const number = [2, 4, 5, 3, 1];
  //  数字を逆に並べる関数
  function compareNum(a, b) {
    return b - a;
  }
  number.sort(compareNum); //  => [5, 4, 3, 2, 1]

文字列

アルファベットの場合、abc順に並び替えられます。

  //  文字列
  const arf = ["e", "b", "d", "c", "a"];
  arf.sort(); //  => ["a", "b", "c", "d", "e"]

仮名の場合、五十音順に並び替えられます。

  //  文字列
  const kana = ["た", "か", "さ", "な", "あ"];
  kana.sort(); //  => ["あ", "か", "さ", "た", "な"]

sort(関数)で、逆に並び変えることができます。

  //  文字列
  const arf = ["e", "b", "d", "c", "a"];
  const kana = ["た", "か", "さ", "な", "あ"];
  //  文字列を逆から並び替える関数
  function compareStr(a, b) {
    if (a > b) {
      return -1;
    }
    if (a < b) {
      return 1;
    }
    return 0;
  }
  arf.sort(compareStr); //  => ["e", "d", "c", "b", "a"]
  kana.sort(compareStr); //  => ["な", "た", "さ", "か", "あ"]

連想配列の並び替え

以下関数内のpricenameに、 負(-)正(+)に入れ替えることにより、並び替える基準や昇降順を変えられます。

  //  文字列
  const fruits = [
    { name: "apple", price: 120 },
    { name: "mango", price: 690 },
    { name: "orange", price: 190 },
    { name: "banana", price: 290 },
    { name: "melon", price: 780 },
  ];
  //  関数
  function compareFruit(a, b) {
    if (a.price > b.price) {
      return 1;
    }
    if (a.price < b.price) {
      return -1;
    }
    return 0;
  }
  fruits.sort(compareFruit); 
  //  (5) [{…}, {…}, {…}, {…}, {…}]
  //  0: {name: "apple", price: 120}
  //  1: {name: "orange", price: 190}
  //  2: {name: "banana", price: 290}
  //  3: {name: "mango", price: 690}
  //  4: {name: "melon", price: 780} 

参考

js
【javascript】 配列を削除、追加するarray.splice()メソッドについて
js
【javascript】配列の中身を追加(push, unshift)、削除(pop, shift)する方法
point

array.reverse() : 配列の中を逆から並び替え。

array.sort() : 配列の中を昇順に並び替え。

array.sort(関数) : 関数により降順に並び替え可能。

こんな記事も読まれています。

profile

gaoさん

パソコン好きなガオ

コロナ禍によるステイホームを機にプログラミングを学ぶ。パソコンに関してはプロではないが、ちょっと詳しい程度。<