gpt4 book ai didi

javascript - 变量函数名Javascript

转载 作者:行者123 更新时间:2023-11-28 11:28:32 25 4
gpt4 key购买 nike

我正在对数组进行排序:

myArray.sort(comparators.some_comparator);

我有几个比较器可供选择:

comparators = {

asc_firstname_comparator : function(o1, o2){
...
}

desc_firstname_comparator : function(o1, o2){
...
}

etc...
}

我想编写根据输入数据返回特定比较器的函数。它应该从字符串输入中找出比较器,如下所示:

function chooseComparator(field, order){

return "comparators."+order+"_"+field+"_comparator";

}

那么是否可以仅将函数名称字符串传递给 sort() 方法,或者我需要以某种方式传递对正确比较器的引用?

最佳答案

使用下标表示法对 javascript 对象进行索引(obj.propobj["prop"] 相同,但后一种方式可以创建属性名称动态):

function chooseComparator(field, order){ 

return comparators[order+"_"+field+"_comparator"];

}

是的,您必须将函数对象传递给 sort() 函数,仅一个名称是不够的

关于javascript - 变量函数名Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2996674/

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