1

次の場合:

var array = [{"name":"zoe", "hotdogs":5},{"name":"april", "hotdogs":5},{"name":"ryan", "hot dogs":8}]

JavaScriptを使用して配列の要素を名前で並べ替えるにはどうすればよいですか?

var array = [{"name":"april", "hotdogs":5},{"name":"ryan", "hotdogs":8},{"name":"zoe", "hotdogs":5}]

オブジェクトを並べ替えるためにいくつかの関数を適用する方法はありますか?パフォーマンスに役立つヘルパーライブラリはありますか?

私は次のことを試しました:

array.sort(function(a, b) {
    return a.name > b.name
});

しかし、私がそれを印刷しようとすると、結果の配列には何の影響も及ぼさないように見えました。

4

2 に答える 2

1

を使用し.localeCompare()ます。

array.sort(function(a, b) {
    return a.name.localeCompare(b.name)
});
于 2013-03-03T17:36:35.347 に答える
0

The function should return integer, like C strcmp, so do:

if a.name > b.name {
  return 1;
} else if ( a.name == b.name) {
  return 0;
}
return -1
于 2013-03-03T17:31:46.947 に答える