为什么这个排序功能在 Safari 中不起作用
Why isn't this sorting function working in Safari?
我写了一个函数,根据每个子数组的第二个元素对数组数组进行排序。例如:
排序:
var x = [['car', 10], ['dog', 20], ['horse', 2]]
应该返回[[ 'dog', 20 ], [ 'car', 10 ], [ 'horse', 2 ]]
我在Chrome和Firefox中尝试了此功能,它工作得很好。由于某种原因,当我在 Safari 中尝试时,生成的数组未排序。为什么会发生这种情况,我该怎么做才能解决它?
这是函数:
x = x.sort(function(a,b){
return a[1] < b[1];
})
您需要返回一个小于零、零或大于零的值。请在此处查看文档。
此建议返回精确比较的项目值的差值。当排序递减时,我们需要从 b 中减去 a 的值。
function(a, b){
return b[1] - a[1];
});
例:
var x = [['car', 10], ['dog', 20], ['horse', 2]];
x.sort(function(a,b){
return b[1] - a[1];
});
document.write('<pre>' + JSON.stringify(x, 0, 4) + '</pre>');
顺便说一句,无需分配结果。排序工作到位。
相关文章:
- window.open(url).print()在Safari中不起作用
- 复制到剪贴板在safari-angularjs中不起作用
- Javascript Cookies在Safari中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 导航到新url时,Javascript在Safari中不起作用
- JS代码使IE9和Safari冻结,在Opera中不起作用
- html视频javascript播放方法在移动Safari中不起作用
- 为什么这个排序功能在 Safari 中不起作用
- $.getJSON 在 Chrome 和 Safari 中不起作用
- window.dispatchEvent 在 Firefox、Safari 或 IE 中不起作用
- 滚动到顶部按钮在 chrome 或 safari 中不起作用
- jQuery .play() 在移动 Safari 上不起作用
- jQuery .focus() 在 Safari(桌面)的搜索字段中不起作用
- HTML5<视频>元素在Firefox、Opera和Safari中不起作用
- 为什么find('input:focus')在safari中不起作用
- OfflineAudioContext.startRendering()基于承诺的函数在safari中不起作用
- ng模式验证在safari中不起作用
- 图像预览在Safari中不起作用
- 脚本在safari中不起作用
- CreateContextualFragment在safari中不起作用