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

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


记录今天遇到的一些兼容性问题:sort函数在ie中的使用_第1张图片
记录今天遇到的一些兼容性问题:sort函数在ie中的使用_第2张图片
ie浏览器打印结果

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

记录今天遇到的一些兼容性问题:sort函数在ie中的使用_第3张图片
google浏览器打印结果

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

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


记录今天遇到的一些兼容性问题:sort函数在ie中的使用_第4张图片
返回1和-1就没问题了

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

你可能感兴趣的:(记录今天遇到的一些兼容性问题:sort函数在ie中的使用)