记录今天遇到的一些兼容性问题:sort函数在ie中的使用

2020-01-06  本文已影响0人  夏日的守夜人

原因是这样的,在对对象里一个时间字段进行排序展示的时候,google浏览器运行是正常的,而ie并没有发生改变,起先我以为是常见的‘YYYY-MM-DD’和‘YYYY/MM/DD’在不同浏览器上的识别问题,后来转念一想应该不是的,毕竟我已经把它们都用moment处理成了moment对象,而且使用了moment.js的isAfter()函数

ie浏览器打印结果

在ie下结果sort居然没有任何作用

google浏览器打印结果

然后我Google一下,原来是因为sort后面跟着的排序函数,需要返回正数、负数或者0才是标准的影响排序的函数。而如上例所示的采用返回布尔值的函数作为排序函数是一种误用。

看来以后看书还是得仔细,当时我就一直很好奇高级程序设计里为啥要用1,-1,0来作为返回值,网上的一些demo经常直接返回a>b害死人

返回1和-1就没问题了

ps,我尝试着在Safari浏览器中试了一下也会有这种问题存在,平时还是得严谨一些

上一篇下一篇

猜你喜欢

热点阅读