w3resource

JavaScript: Sort the specified array of objects by title value

JavaScript Array: Exercise-25 with Solution

Write a JavaScript function to sort the following array of objects by title value.

Sample object:

var library = [ 
   { author: 'Bill Gates', title: 'The Road Ahead', libraryID: 1254},
   { author: 'Steve Jobs', title: 'Walter Isaacson', libraryID: 4264},
   { author: 'Suzanne Collins', title: 'Mockingjay: The Final Book of The Hunger Games', libraryID: 3245}
   ];

Visual Presentation:

JavaScript: Sort the specified array of objects by title value

Sample Solution:

JavaScript Code:

// Array of book objects in the library
var library = [ 
   { author: 'Bill Gates', title: 'The Road Ahead', libraryID: 1254},
   { author: 'Steve Jobs', title: 'Walter Isaacson', libraryID: 4264},
   { author: 'Suzanne Collins', title: 'Mockingjay: The Final Book of The Hunger Games', libraryID: 3245}
];

// Function to compare two book objects based on their titles for sorting
function compare_to_sort(x, y) {
  // Check if the title of book x is less than the title of book y
  if (x.title < y.title)
    return -1;
  // Check if the title of book x is greater than the title of book y
  if (x.title > y.title)
    return 1;
  // If titles are equal, return 0
  return 0;
}

// Output the sorted library array based on the compare_to_sort function
console.log(library.sort(compare_to_sort));

Output:

[{"author":"Suzanne Collins","title":"Mockingjay: The Final Book of The Hunger Games","libraryID":3245},{"author":"Bill Gates","title":"The Road Ahead","libraryID":1254},{"author":"Steve Jobs","title":"Walter Isaacson","libraryID":4264}]

Flowchart:

Flowchart: JavaScript: Sort the specified array of objects by title value

ES6 Version:

// Array of book objects in the library
const library = [ 
   { author: 'Bill Gates', title: 'The Road Ahead', libraryID: 1254},
   { author: 'Steve Jobs', title: 'Walter Isaacson', libraryID: 4264},
   { author: 'Suzanne Collins', title: 'Mockingjay: The Final Book of The Hunger Games', libraryID: 3245}
];

// Function to compare two book objects based on their titles for sorting
const compare_to_sort = (x, y) => {
  // Check if the title of book x is less than the title of book y
  if (x.title < y.title)
    return -1;
  // Check if the title of book x is greater than the title of book y
  if (x.title > y.title)
    return 1;
  // If titles are equal, return 0
  return 0;
};

// Output the sorted library array based on the compare_to_sort function
console.log(library.sort(compare_to_sort));

Live Demo:

See the Pen JavaScript - Sort the specified array of objects by title value - array-ex- 25 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus.

Previous: Write a JavaScript function to remove. 'null', '0', '""', 'false', 'undefined' and 'NaN' values from an array.
Next: Write a JavaScript program to find a pair of elements (indices of the two numbers) from an given array whose sum equals a specific target number.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/javascript-exercises/javascript-array-exercise-25.php