2019-04-01
描述
创建一个函数,调用他提供的函数就可让传入的数组根据提供的索引进行排序。
提示
- 使用
Array.prototype.map()
基于根据扩展运算符组合的indexes
对传入的参数进行重新排序,以便将最终结果展开作为参数传到fn
中。
代码
const rearg = (fn, indexes) => (...args) => fn(...indexes.map(i => args[i]));
示例
对传入的参数按指定的下标进行排序:
var rearged = rearg(
function(a, b, c) {
return [a, b, c];
},
[2, 0, 1]
);
rearged('b', 'c', 'a'); // ['a', 'b', 'c']
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于