Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不是';这个排序功能在Safari中不起作用吗?_Javascript_Arrays_Sorting_Safari - Fatal编程技术网

Javascript 为什么不是';这个排序功能在Safari中不起作用吗?

Javascript 为什么不是';这个排序功能在Safari中不起作用吗?,javascript,arrays,sorting,safari,Javascript,Arrays,Sorting,Safari,我编写了一个函数,它根据每个子数组的第二个元素对数组进行排序。例如: 分类: var x = [['car', 10], ['dog', 20], ['horse', 2]] 应该返回[['dog',20],'car',10],'horse',2]] 我在Chrome和Firefox中尝试了这个功能,效果很好。出于某种原因,当我在Safari中尝试时,结果数组没有排序。为什么会发生这种情况?我能做些什么来修复它 以下是函数: x = x.sort(function(a,b){ r

我编写了一个函数,它根据每个子数组的第二个元素对数组进行排序。例如:

分类:

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];
})
x=x.sort(函数(a,b){
返回a[1]
您需要返回一个小于零、零或大于零的值。请参阅文档

此方案返回经过精确比较的项目值的差异。当排序符在下降时,我们需要从b中减去a的值

function(a, b){
    return b[1] - a[1];
});
例如:

varx=[['car',10],'dog',20],'horse',2];
x、 排序(功能(a、b){
返回b[1]-a[1];
});

document.write(''+JSON.stringify(x,0,4)+'')好的,谢谢,可以了。你知道为什么它可以在Chrome/Firefox上运行,但不能在Safari上运行吗?请阅读文档:。