【发布时间】:2018-08-09 20:00:48
【问题描述】:
我有一个排序函数,我们称它为mySort(a, b),如果 a 更小,则返回 1,0,-1。相等,大于 b。这样,我可以使用myArray.sort(mySort) 对我的数组进行排序。
我现在有一个视图,其中数组需要按降序排序。我的第一个解决方案是只做myArray.sort(mySort).reverse()(是的,我知道它效率不高,但数组包含少于 50 个项目)。但我开始想,也许我可以在我的排序函数中添加另一个参数,如果设置为false,则会返回相反的结果:mySort(a, b, ascending = true)。
问题是:如果我想使用Array.sort,我需要提供一个函数。有没有办法使用apply(或call?)创建一个将ascending设置为false的函数,以允许myArray.sort(myFunction.apply(null, [,,false]))之类的方式?因为我看不到动态提供 a 和 b 的方法。
【问题讨论】:
标签: javascript apply