排序功能在IE 11中不起作用
Sorting function not working in IE 11
>我有一个非常简单的排序函数,可以按index
对对象进行排序:
panoramas.sort((a, b) => {
if (a.index > b.index) return 1
})
输入:
[
{ index: 0 },
{ index: 2 },
{ index: 1 }
]
输出:
[
{ index: 1 },
{ index: 2 },
{ index: 3 }
]
该函数适用于Chrome和Firefox,但不适用于IE(数组根本没有排序(。
我的功能有问题吗?
排序函数应返回 -1、0 或 1 进行排序。
// Your function tests for 'a.index > b.index'
// but it's missing the other cases, returning false (or 0)
panoramas.sort((a, b) => {
if (a.index > b.index) return 1;
if (a.index < b.index) return -1;
return 0;
})
来自 JavaScript 中的排序:返回布尔值对于比较函数来说不应该足够吗?
-
> 0
a
何时被认为大于b
,并应在它之后排序 -
== 0
当a
被认为等于b
并且哪个先到并不重要 -
< 0
a
何时被视为小于b
并应在它之前排序
对于数字,您可以使用更简洁的方法:
panoramas.sort((a, b) => {
return a.index - b.index;
// but make sure only numbers are passed (to avoid NaN)
})
对于 IE11,如 @teemu 所述,不支持箭头函数,您必须使用函数表达式:
- http://caniuse.com/#feat=arrow-functions
panoramas.sort(function(a, b) {
return a.index - b.index;
});
相关文章:
- window.opener.document在ie中不起作用
- 为什么Telerik cdn在IE中不起作用
- JQuery脚本在IE中不起作用
- 默认光标在IE和Mozilla中不起作用
- Asp自定义验证器在IE-11中不起作用
- knockoutjsforeach在IE 9中不起作用
- 谷歌分析在IE中不起作用
- javascript中的SVG转换在IE 11中不起作用
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 在IE中切换javascript不起作用的复选框
- JQuery日期选择器在IE 7上不起作用
- HTML表单在IE中不起作用
- Javascript style.background在IE中不起作用
- 对<asp:IE 10的TextBox;不起作用
- Javascript/AAJAX在Opera中不起作用,在FF/IE/Chrome中完美工作
- SPA异步调用在IE 11中不起作用
- 脚本在IE 9中不起作用
- ng-单击在IE中不起作用的选项选择Angularjs
- html2canvas 代码不起作用 IE 11
- 隐藏选项不起作用IE