gpt4 book ai didi

javascript - 在 JavaScript 中对函数数组进行排序

转载 作者:行者123 更新时间:2023-12-03 05:15:21 25 4
gpt4 key购买 nike

我想创建一个对函数进行排序并调用它的函数。问题是每个函数可能有不同数量的参数,并且这些参数必须在排序之前传递。例如:

function sortFunciton(arrayOfFunctions) {

}

mySortedFunction = sortFunction([function1('a', 'b'), function2('a'), function3('a','b','c')])

问题是,如果我像这样传递数组,我已经传递了函数的值,但我不希望这些函数在排序之前执行,因为它们的计算量很大,所以只需必须执行一个,这就是我排序的原因。

有没有办法这样传递:

mySortedFunction = sortFunction([function1.args('a', 'b', 'c')], function2.args('a'), function3.args('a', 'b', 'c')])

然后做

mysortedFunction.callWithArgs()

最佳答案

您可以使用 Function.prototype.bind 传递带有某些绑定(bind)参数的未调用函数引用:

function selectFunc(funcArray) {
//some selection criteria
return funcArray[0];
}

mySelectedFunc = selectFunc([function1.bind(null, 'a', 'b'), function2.bind(null, 'a'), function3.bind(null, 'a','b','c')]);

mySelectedFunc() //equivalent of running function1('a', 'b')

关于javascript - 在 JavaScript 中对函数数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41625971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com