我有两个功能:
array_sort(array, compare_function)
compare_values(value1, value2, case_insensitive)
函数'array_sort'使用'compare_values'函数比较值并仅传递两个值,而第三个参数'case_insensitive'应该在使用函数'array_sort'时传递。我知道如何做的唯一方法是将'compare_values'函数包装到另一个函数中:
var my_array = [];
var case_insensitive = true;
var wrapper = function(value1, value2) {
compare_values(value1, value2, case_insensitive)
}
array_sort(my_array, wrapper);
我还有其他办法吗?
答案 0 :(得分:1)
你可以编写另一个函数来抽象包装器:
function makeWrapper(case_insensitive) {
return function wrapper(value1, value2) {
compare_values(value1, value2, case_insensitive)
};
}
array_sort(my_array, makeWrapper(true));