Custom sorting

We can sort an array with any type of object in it, and we can also create compareFunction to compare the elements as required. For example, suppose we have an object, Person, with name and age, and we want to sort the array based on the age of the person. We can use the following code:

const friends = [ 
  { name: 'John', age: 30 }, 
  { name: 'Ana', age: 20 }, 
  { name: 'Chris', age: 25 }, // trailing comma ES2017 
]; 
function comparePerson(a, b) { 
  if (a.age < b.age) { 
    return -1; 
  } 
  if (a.age > b.age) { 
    return 1; 
  } 
  return 0; 
} 
console.log(friends.sort(comparePerson)); 

In this case, the output from the previous code will be Ana (20)Chris (25), and John (30).