注意 : < / strong > 我不使用jQuery 或其他图书馆, 是因为我想了解我所写的东西和为什么它有效(或没有), 所以请不要用图书馆或图书馆插件回答这个问题。 我不反对图书馆, 但这个项目对我的编程目标有害。
'他们说' '/'说 '/'
在
例如,如果您在 OS X 的 Safari 或 Firefox 中点击“ 十进制 RGB ” 几次, 就会得到我想要的结果。 在 Chrome 或 Opera ( 再说一遍, OS X ) 中也这样做, 结果就会大相径庭。 是的, Safari 和 Chrome 在此有差异 。
以下是JS I在使用RGB的片段:
sorter.sort(function(a,b){
return a.blue - b.blue;
});
sorter.sort(function(a,b){
return a.green - b.green;
});
sorter.sort(function(a,b){
return a.red - b.red;
});
( sorter
是我要排序的阵列。 )
类似的做法是在另一个StackOverflow问题“。然而,我最初尝试的四种浏览器中的两种,其结果不是我预期的结果。
我理解这与阵列种类“不稳定”有关 — — 这里没有争论! — — 但我不知道的是如何以一致、可靠的方式克服它。 我确实需要一些帮助来理解问题和看到解决方案,或者至少对解决方案作一个通用描述。
我意识到或许有六百万种方法可以优化联署材料的其余部分(是的,我使用了一个全球 ) 。 我仍然是联署材料的新手,并试图通过实践纠正这一点。 现在,它的排列方式让我困惑不清,我可以用剧本的剧本来帮助我,然后再去别处清理代码。多谢了!
<强> UPDATE 强>
除了下面的深刻解释和建议之外,我还有一条关于更紧凑的解决办法的线:
function rgbSort(a,b) {
return (a.red - b.red || a.green - b.green || a.blue - b.blue);
}
虽然我还不太明白, 但我认为我开始领会它的轮廓,