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).

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.