文字列のソート

文字列の配列のカスタムソートを実現したいと思ったらsort関数に独自の比較関数を指定するわけですが、C#などの間隔で以下の用の式を書いて躓いてしまいます。

var names = srt.sort(function (a, b, x, y) {
    x = a.charAt(0) == "_" ? a.substring(1) : a;
    y = b.charAt(0) == "_" ? b.substring(1) : b;

    return x - y;
});


string型は引き算できないので比較した結果を返してやる必要があります。

    return (x == y) ? 0 : (x < y ? -1 : 1);

M. K. の紹介

IT屋さんです。プログラミングが大好きで今はJavascriptがお気に入りです。
カテゴリー: JavaScript, tips   タグ: , ,   この投稿のパーマリンク