JavaScriptで文字列をソートする方法 質問する

JavaScriptで文字列をソートする方法 質問する

attr文字列型のフィールドに基づいて並べ替えたいオブジェクトのリストがあります。-

list.sort(function (a, b) {
    return a.attr - b.attr
})

しかし、-JavaScript の文字列では機能しないようです。文字列型の属性に基づいてオブジェクトのリストを並べ替えるにはどうすればよいでしょうか?

ベストアンサー1

使用String.prototype.localeCompareあなたの例に従って:

list.sort(function (a, b) {
    return ('' + a.attr).localeCompare(b.attr);
})

例外を回避するためにa.attrを文字列に強制します。localeCompareサポートされていますInternet Explorer 6以降および Firefox 1。ロケールを考慮しない次のコードが使用されている場合もあります。

if (item1.attr < item2.attr)
  return -1;
if ( item1.attr > item2.attr)
  return 1;
return 0;

おすすめ記事