我想用逗号对一列数字进行排序,例如1,092,021。排序处理,作为一个小数和分类不当。例如:排序包含逗号的数字
1,330,000
2,350,000
3
5
7,000,000
etc
有没有办法让逗号分隔的数字排序正确?
我想用逗号对一列数字进行排序,例如1,092,021。排序处理,作为一个小数和分类不当。例如:排序包含逗号的数字
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('');
});
完美,感谢@Magomogo。添加此分拣机功能到柱: '分拣机:功能逗号(A,B){' \t \t \t \t \t \t'一个= parseInt函数(a.replace(/,/克, ''));' \t \t \t \t \t \t'b = parseInt函数(b.replace(/,/克, ''));' \t \t \t \t \t \t'如果(A B)返回-1;' \t \t \t \t \t'返回0;' \t \t \t \t'},' –
我也一样@维尼 - 詹姆斯和它工作正常。我分享我的代码。
'columns': [{
field:'Checkbox'
},{
field:'Status'
},{
field:'Price',
visible:true,
sorter: function commas(a,b){ a = parseInt(a.replace(/,/g, '')); b = parseInt(b.replace(/,/g, '')); if (a < b) return 1; if (a > b) return -1; return 0; }]
快速解决方法是删除逗号,然后排序,然后将它们添加回。 – JaredT