Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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()在Firefox和Chrome/Edge中的行为不同_Javascript_Arrays_Sorting - Fatal编程技术网

Javascript Array.sort()在Firefox和Chrome/Edge中的行为不同

Javascript Array.sort()在Firefox和Chrome/Edge中的行为不同,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一段极其简化的代码,它在Firefox中产生的结果与您在Chrome或Edge中得到的(和预期的)结果相反(没有尝试过其他浏览器): [1,2,3,4,5].sort((a,b)=>1.forEach(a=>document.write(a))这不是一个bug,只是依赖于实现-如果每次比较都返回1,那么它是不一致的,规范没有说明结果应该是什么为什么不采取[1,2,3,4,5]。排序((a,b)=>a-b)或反向[1,2,3,4,5]。排序((a,b)=>b-a)?@CertainPerfo

我有一段极其简化的代码,它在Firefox中产生的结果与您在Chrome或Edge中得到的(和预期的)结果相反(没有尝试过其他浏览器):


[1,2,3,4,5].sort((a,b)=>1.forEach(a=>document.write(a))这不是一个bug,只是依赖于实现-如果每次比较都返回
1
,那么它是不一致的,规范没有说明结果应该是什么为什么不采取
[1,2,3,4,5]。排序((a,b)=>a-b)
或反向
[1,2,3,4,5]。排序((a,b)=>b-a)
?@CertainPerformance这只是一个简化的示例。它的行为方式是相同的,即使不是每个比较都一样。返回1应该保持2个项目的顺序不变,否?否,正返回值将导致结果中
b
排在第一位,无论
b
是什么-但是规范没有指定要比较的顺序元素。@d-h-e,因为它只是一个更大(非数字)示例的非常简化的版本。基本上,我在做一些比较,希望在两者相等时避免单独的“分支”。