我有一个数组,如下所示:
var fruits = ['0-2','1-1','12-2','14-2','2-3','21-1','4-1'];它给了我这样的输出:
0-2,1-1,12-2,14-2,2-3,21-1,4-1。
我想对这个数组进行排序,并获得如下输出:
0-2,1-1,2-3,4-1,12-2,14-2,21-1使用JavaScript/jQuery。
我厌倦了使用fruits.sort();,但那不起作用,有什么建议吗?
发布于 2018-04-24 04:21:22
在进行比较之前,您必须格式化输入(移除连字符)才能得到预期的结果:
var fruits = ['0-2','1-1','12-2','14-2','2-3','21-1','4-1'];
fruits.sort(function(a, b){
a = a.replace('-', '')
b = b.replace('-', '');
return a - b;
});
console.log(fruits)
发布于 2018-04-24 04:21:58
您必须传递一个compareFunction和split()字符串,并比较数组的第一个元素
var fruits = ['0-2', '1-1', '12-2', '14-2', '2-3', '21-1', '4-1'];
fruits.sort((a, b) => a.split('-')[0] - b.split('-')[0]);
console.log(fruits);
医生:排序()
https://stackoverflow.com/questions/49993350
复制相似问题