Open1

javascript オブジェクトと並び替え

portgroundportground

Javascriptでループを用いて、データ構造に順次データを格納する

Array
挿入順が保たれる。

Object
挿入順は保たれない。

データをソートする場合

Array
標準関数が用意されている。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

Object
標準関数が用意されていない。

複数のオブジェクトをキーを用いてソートしたい場合

解決策:オブジェクトに格納する必要がなければ配列に格納する。それを標準関数でソートする。

var items = [
  { name: 'Edward', value: 21 },
  { name: 'Sharpe', value: 37 },
  { name: 'And', value: 45 },
  { name: 'The', value: -12 },
  { name: 'Magnetic', value: 13 },
  { name: 'Zeros', value: 37 }
];

// 値順にソート
items.sort(function (a, b) {
  return a.value - b.value;
});