私は、文字、整数、文字で構成される文字列をソートして配列しようとしています。ここに私がやっていることです:特殊文字と整数を無視して配列を並べ替える?
var vList =["IEC - 62877-1 ", "IEC - 60622 ", "CAN/CSA - F382-M89 (2014) ", "Telcordia - GR-3150-CORE ", "UL - 1973"];
vList.sort(function(a,b) {
return a.split(' - ')[0] - b.split(' - ')[0];
});
print(vList)
アイデアは、文字列の要素のみ最初の文字を使用してアルファベット順に配列をソートすることです:「IEC」、「CAN」を、「Telecordia」、「UL」 。
配列は次のようになります。
vList = ["CAN/CSA - F382-M89 (2014)", "IEC - 62877-1 ", "IEC - 60622 ","Telcordia - GR-3150-CORE ", "UL - 1973"];
文字列を比較しているときに、比較関数として減算を使用することはできません。それは数字だけで動作します。 – Barmar
各引数の最初の単語を取得し、 'if'文を使って' -1'、 '0'、または' 1'を返します。 – Barmar