私は次のような値の配列を持っています:
item1, item3, item2, item4, item5, item8, item6, item9, item10, item7, item11
を使用してJavaScriptで並べ替えると.sort()
、次の結果が得られます。
item1, item10, item11, item2, item3, item4, item5, item6, item7, item8, item9
これはアイテムが文字列であり、これが何sort()
をするように設計されているかを知っていますが、どうすればそれらを次のように並べ替えることができますか?
item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11
ありがとう、
独自の.sort
コールバックを定義できます。実際、数値を並べ替えるにはそうする必要があります。ただし、あなたのケースは少し異なります。
.sort(function (a, b) {
return (+a.replace("item", "")) - (+b.replace("item", ""));
});
item
一貫性がない場合は.split(/(\d+)/)[1]
、単語の部分に数字が含まれていないと仮定して、数字の部分を取得できます。http://jsfiddle.net/Hbs8g/1/
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加