javascript排序,将中间项放在顶部

javascript sort placing middle item at top

本文关键字:顶部 中间 排序 javascript      更新时间:2023-09-26

我有以下排序函数:

var timeArray = new Array('11:41', '11.39', '11:41', '11:41', '11:40', '11:70', '11:39', '11:38', '11:38', '11:37', '11:37');
timeArray.sort(function(c, d) {
        var digit1 = parseInt(c.replace(/'D/g,''));
        var digit2 = parseInt(d.replace(/'D/g,''));
        return  digit1 > digit2;});
var testContent = '';
for (var i = 0; i < timeArray.length; i++) {
    testContent += timeArray[i] + '<br />';
}
$('#test').html(testContent);

我希望看到以下结果:

11:37
11:37
11:38
11:38
11.39
11:39
11:40
11:41
11:41
11:41
11:70

然而,11.70的数字总是出现在结果的顶部。如果我更改数组中的11:70值,无论我使用什么值,它都将始终出现在结果的开头。

有人知道我如何正确排序吗?为什么11:70总是出现在列表的顶部?

Fiddle 示例

将排序函数更改为

timeArray.sort(function(c, d) {
    var digit1 = parseInt(c.replace(/'D/g,''));
    var digit2 = parseInt(d.replace(/'D/g,''));
    return  digit1 - digit2;
});

FIDDLE

它期望返回一个数字,而不是布尔值。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort