Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 array.sort在Chrome中不起作用_Javascript_Arrays_Google Chrome_Sorting - Fatal编程技术网

JavaScript array.sort在Chrome中不起作用

JavaScript array.sort在Chrome中不起作用,javascript,arrays,google-chrome,sorting,Javascript,Arrays,Google Chrome,Sorting,我在JavaScript中的一个对象数组上使用内置的sort()方法,提供了一个比较函数,我认为它满足了需要,因为无论项目a比较大、小还是等于项目B,它都返回1、-1或0 代码如下: aData.sort(function(itemA, itemB) { if (itemA.field1 > itemB.field1) return 1; if (itemA.field1 < itemB.field1) return -1; return 0; }); aD

我在JavaScript中的一个对象数组上使用内置的sort()方法,提供了一个比较函数,我认为它满足了需要,因为无论项目a比较大、小还是等于项目B,它都返回1、-1或0

代码如下:

aData.sort(function(itemA, itemB) {
    if (itemA.field1 > itemB.field1) return 1;
    if (itemA.field1 < itemB.field1) return -1;
    return 0;
});
aData.sort(函数(itemA,itemB){
如果(itemA.field1>itemB.field1)返回1;
if(itemA.field1
这在Debian 8虚拟机上的Iceweasel/Firefox(版本38.6.1)中非常有效,但在使用Chrome(版本48.0.2564.109(64位))时完全没有用。 不进行任何排序,数组完全保持不变

我已经升级了Chrome,花了几个小时寻找解决这个问题的方法,但是没有用

有什么想法吗,伙计们


非常感谢

我也看到过类似的问题,可能是相同的情况

我猜您的数据来自一个后端,该后端将字段作为字符串而不是整数返回

[{"field1":"222"},....]
而不是

[{"field1":222},....]
我从未指出原因,但应用程序中使用的框架似乎在Firefox上而不是Chrome上将值转换为Point


解决方案是在定义排序的函数上使用parseInt。

chrome中到底发生了什么?错误?名单没有变化吗?重新排序不正确?请为sortingWorks为我添加一些示例数据:我编辑了这篇文章,在Chrome中没有发生任何事情,数组保持不变。我发现了真正的问题所在。我试图排序的实际上是一个关联数组(即对象),而不是纯数组。不管怎么说,所有其他浏览器都会处理它,所以这是一种拖累,Chrome对它如此挑剔。谢谢大家!