comparison - JavaScript sort - オブジェクトの配列を文字列のプロパティ値でソート

JavaScript オブジェクト ソート / javascript / arrays / sorting

JavaScriptオブジェクトの配列があります。

var objs = [ 
    { first_nom: 'Lazslo', last_nom: 'Jamf'     },
    { first_nom: 'Pig',    last_nom: 'Bodine'   },
    { first_nom: 'Pirate', last_nom: 'Prentice' }
];

Kamil Kiełczewski



Answer #1

正しくない古い答え。

arr.sort((a, b) => a.name > b.name)

Beauchamp氏のコメントより。

arr.sort((a, b) => a.name < b.name ? -1 : (a.name > b.name ? 1 : 0))

より読みやすいフォーマット。

arr.sort((a, b) => {
  if (a.name < b.name) return -1
  return a.name > b.name ? 1 : 0
})

入れ子になった三和土がなければ

arr.sort((a, b) => a.name < b.name ? - 1 : Number(a.name > b.name))