排序数组对象仅适用于Firefox? - Chrome和Safari中的错误?

时间:2018-03-21 14:58:52

标签: javascript performance sorting debugging browser

大家好我有Google Maps Api V3的代码,其中有很多标记,每个标记都在这个数组对象中推送markers = []

在每个标记中,我都有一个特定属性,即zIndex(我认为是 API google的一部分),在我的情况下,值为Time Stamp

我希望以这种方式将数组对象按zIndex从最大到最小排序:

markers.sort(function(a, b) {
 return (a.getZIndex()) < (b.getZIndex());
});

对于我的代码,这种排序在Firefox中运行 ONLY ,而在Safari和Chrome中则不正确。 要在其他浏览器中获得正确的排序事件,我必须在此更改排序:

markers.sort(function(a, b) {
 return (b.getZIndex()) - (a.getZIndex());
});

怎么可能??? 我在 jsfiddle https://jsfiddle.net/4mqoavom/17/中创建了一个类似的代码 但适用于每个浏览器。

不幸的是我的代码太大而无法粘贴在这里,但我确信在其他地方没有问题。 在创建数组对象之后立即进行排序(内部包含所有标记)。

这件事发生在你身上吗? 也许是我的代码问题,关于Chrome浏览器和Safari浏览器或者getZIndex()

的问题

在我的情况下,几乎看起来排序中的问题是运算符<

我希望你能说点什么......非常感谢!

0 个答案:

没有答案