Array.prototype.sort()


sort([ compareFunction ])


並べ替えに役立つ方法.
ソースアレイを変更します.
※注意:sort()パラメータが入力されていない場合は、Unicode順に値を並べ替えます.

昇順

function compareNumbers(a, b) {
  return a - b;
}
const numbers = [4, 2, 5, 1, 3];
numbers.sort((a, b) => a - b);
console.log(numbers);  // [1, 2, 3, 4, 5]

降順

function compareNumbers(a, b) {
  return b - a;
}
const numbers = [4, 2, 5, 1, 3];
numbers.sort((a, b) => b - a);
console.log(numbers);  // [5, 4, 3, 2, 1]

  • オブジェクト値の昇順(数値)
  • const girls = [
        {'name': '다현', height: 159},
        {'name': '나화', height: 165},
        {'name': '자현', height: 169},
        {'name': '가정', height: 168},
        {'name': '파지', height: 163}
        ]
    const result = girls.sort((a, b) => {
      if (a.height > b.height) return 1;
      if (a.height < b.height) return -1;
      return 0;
      });
    console.log(result)

    1-1. オブジェクト値の昇順ソート(テキスト)
    const alpha = girls.sort((a, b) => {
      if (a.name < b.name) return -1;
      if (a.name > b.name) return 1;
      return 0;
      });
    console.log(alpha)

    オブジェクト値降順で
  • (数値)
  • girls.sort((a, b) => {
        return a.height > b.height 
        ? -1 
        : a.height < b.height 
        ? 1 : 0;
    });

    2-1. オブジェクト値の降順でソート(テキスト)
    girls.sort((a, b) => {
        return a.name > b.name ? -1 : a.name < b.name ? 1 : 0;
    });