I’m sorting array:
myArray.sort(comparators.some_comparator);
and I have several comparator to choose from:
comparators = {
asc_firstname_comparator : function(o1, o2){
...
}
desc_firstname_comparator : function(o1, o2){
...
}
etc...
}
I want to write function which returns certain comparator depending on input data. It should figure out comparator from string inputs, something like this:
function chooseComparator(field, order){
return "comparators."+order+"_"+field+"_comparator";
}
So is it possible to pass only function name string to sort() method or I’ll need to pass reference to correct comparator somehow?
use the subscript notation for indexing the javascript object (
obj.propis the same asobj["prop"], but the latter way you can create property names dynamically):and yes, you have to pass a function object to the
sort()function, just a name is not enough