javascript - 为什么 sort() JavaScript 函数在 Firefox 中有效,但在 Chromium 中无效?

标签 javascript jquery google-chrome firefox chromium

我已经调试了两天我的 JavaScript 代码,现在我发现它可以在 Firefox 中运行。

我已将代码上传到 jsFiddle,您可以对其进行测试 there .

它在 Firefox v23 中运行完美,但在 Chromium v​​28.0.1500.71 中无法排序。我正在使用 jQuery v1.10.1

我不知道错误是在 sort() 函数上还是在 jQuery 库中。

这应该被报告为 Chromium 中的错误吗?

var data = {
    "list": [
        {
            "title": "a",
            "date": "03/08/2010"
        },
        {
            "title": "b",
            "date": "31/07/2010",
        },
        {
            "title": "c",
            "date": "08/08/2010",
        },
        {
            "title": "d",
            "date": "01/08/2010"
        },
        {
            "title": "e",
            "date": "11/12/2010"
        },
        {
            "title": "f",
            "date": "10/12/2010"
        },
        {
            "title": "g",
            "date": "12/12/2010"
        },
        {
            "title": "h",
            "date": "14/12/2010"
        },
        {
            "title": "i",
            "date": "11/12/2010"
        },
        {
            "title": "j",
            "date": "05/08/2010"
        },
        {
            "title": "k",
            "date": "03/08/2010"
        }
    ]
};
// Sort
$.each(data, function (key, val) {
    val.sort(function(a, b) {
        return a.title.toLowerCase() > b.title.toLowerCase();
    });
    // The object is not sorted here
});
// Print
document.querySelector("pre").textContent = 
    JSON.stringify(data, null, 4);

最佳答案

你的 sort 比较器坏了。

sort 回调预期返回负数 0 或正数,具体取决于第一个参数是小于、等于还是大于比第二个。

你总是返回一个 bool 值,这不是它应该做的。

关于javascript - 为什么 sort() JavaScript 函数在 Firefox 中有效,但在 Chromium 中无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18387725/

相关文章:

Javascript 将 <canvas> 设置为窗口大小

html - 如何从 html 链接到 google chrome 下载页面?

eclipse - 修改后的 CSS3 代码适用于 IE,但不适用于 Chrome

PHP、HTML 美化器?

javascript - 将 JavaScript JQuery 添加到 HTA

jquery - Bootstrap 3 日期时间选择器 jquery

Javascript 使用 OpenLayers 从 GeoServer 编辑 WFS

javascript - 如何在不使用打开窗口的情况下关闭选项卡

javascript - 控制台显示 getElementsBy 的不同输出...导致 Array.prototype.slice.call 在浏览器刷新时失败

javascript - 最小化 Javascript 和 HTML 代码