1,092,021 など、コンマを使用して数字の列を並べ替えようとしています。並べ替えで , が 10 進数として扱われ、正しく並べ替えられていません。例えば:
1,330,000
2,350,000
3
5
7,000,000
etc
コンマ区切りの数字を正しく並べ替える方法はありますか?
1,092,021 など、コンマを使用して数字の列を並べ替えようとしています。並べ替えで , が 10 進数として扱われ、正しく並べ替えられていません。例えば:
1,330,000
2,350,000
3
5
7,000,000
etc
コンマ区切りの数字を正しく並べ替える方法はありますか?
@JaredTが提案したソリューションは次のとおりです。
var nums = ['1,330,000', '2,350,000', '3', '5', '7,000,000', '1,000', '100'];
nums
.map(function (n) { return parseInt(n.replace(/,/g, ''));})
.sort(function (a, b) { return a > b;})
.map(function (i) {
return String(i).split('')
.reverse()
.map(function (n, i) {
return n + (!i || (i % 3) ? '' : ',');
})
.reverse()
.join('');
});