【发布时间】:2016-09-20 21:43:40
【问题描述】:
我收到以下代码:
function sortByProp(...props) {
const callback = props.pop();
return function(a, b) {
const v1 = retrieve(props, a);
const v2 = retrieve(props, b);
return callback(v1, v2);
}
}
它在大多数浏览器中都很好用,但在 opera 中却不行。我收到以下错误:
function sortByProp(...props) {
^^^
SyntaxError: Unexpected token ...
我访问了https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Spread_operator 以查看是否有替代方法来查看是否有用于此的 polyfill,但我找不到。
我使用这两个来调用这个函数:
.sort(sortByProp('key', 'k', a))
.sort(sortByProp('key', 'n', b));
我怎样才能使它适用于所有浏览器?
【问题讨论】:
-
删除
...props,添加var props = arguments;?实际上,可能需要转换为数组,所以[].slice.call(arguments);
标签: javascript