If there is an array of objects, we want to sort the arrays based on an object property. The comparison function passed to the array sort () method receives two parameters, which is the comparison value. But. We need a way to specify which attribute to sort by. To solve the problem, you can define a function that receives a property name and then creates a comparison function based on the property name, and the following is the definition of the function.
function Createcomparionfun (PropertyName) { return function (object1,object2) { var value1=object1[ PropertyName]; var value2=object2[propertyname]; if (value1<value2) { return-1; } else if (value1>value2) { return 1; } else { return 0;}} }
The above function can be used as in the following example.
var data=[{name: "Zom", Age:18},{name: "NBD", age:20}];d Ata.sort (creatcomparionfun ("name")); alert (data[0].name);// Nbddata.sort (Creatcomparionfun ("Age")); alert (data[0].name);//zom
This makes it possible to sort by different attributes.
JavaScript implements an array of objects sorted by different fields