harwind

harwind

JavaScript Array of Objects Sorting: How to Sort by a Specific Object Property

I have an array of objects in JavaScript, and I want to sort them based on a specific property of the objects. For example, I have an array of books, and each book object has properties like ‘title’, ‘author’, and ‘publicationYear’. How can I sort this array of book objects alphabetically by the ‘title’ property?

Here’s a simplified version of the array:

const books = [
    { title: 'The Great Gatsby', author: 'F. Scott Fitzgerald', publicationYear: 1925 },
    { title: 'To Kill a Mockingbird', author: 'Harper Lee', publicationYear: 1960 },
    { title: '1984', author: 'George Orwell', publicationYear: 1949 }
];

This array should be sorted ascendingly using the ‘title’ parameter. I attempted to discover the answer by going to several sites like Scaler, but I was unable to locate the solution. Could you supply a JavaScript code sample that explains how to do this sorting and explains any key ideas or functions utilized in the code? I appreciate your help.

/js

Most Liked

gulshan212

gulshan212

Well, here is a simple example of sorting.

const books = [
    { title: 'The Great Gatsby', author: 'F. Scott Fitzgerald', publicationYear: 1925 },
    { title: 'To Kill a Mockingbird', author: 'Harper Lee', publicationYear: 1960 },
    { title: '1984', author: 'George Orwell', publicationYear: 1949 }
];

// Sort the books array based on the 'title' property
books.sort((a, b) => {
    const titleA = a.title.toLowerCase(); // Convert titles to lowercase for case-insensitive sorting
    const titleB = b.title.toLowerCase();

    if (titleA < titleB) {
        return -1; // 'a' should come before 'b'
    } else if (titleA > titleB) {
        return 1; // 'b' should come before 'a'
    } else {
        return 0; // Titles are equal, no change in order
    }
});

// Now, the books array is sorted alphabetically by title
console.log(books);

Thanks

kokolegorille

kokolegorille

A one liner…

books.sort((a, b) => a.title.toLowerCase() < b.title.toLowerCase() ? -1 : 1)

Where Next?

Popular General Dev topics Top

Kurisu
You can go directly to the last paragraph of this post to read about my concern. I was trying Git submodules then found the above po...
New
DevotionGeo
The version of Java installed with Android Studio on my Mac is the following (when I run java -version) openjdk version "1.8.0_242-relea...
New
harwind
Consider the following bits of code: void foo(const int i) // First foo { std::cout &lt;&lt; "First " &lt;&lt; i &lt;&lt; endl; } vo...
New
PaulMartin
Hey everyone! Do you have any tips or free resources that can help me learn Rspec? Although I know how to write some Rspec, I’m not very...
New
thetoaderseventytwo
I’ve been trying to dip my feet into using Unity and C# for the sake of developing games, however, I have barely any knowledge of how to ...
New
harwind
I’m considering learning new languages to expand my programming skills in 2023. While aware of popular choices, I seek advice on striking...
New
harwind
I am working on a Python script, and you encounter an error related to the misuse of lists and tuples. Here’s a simplified version of you...
New
harwind
Hi, I’m now investigating the complexities of Python loops, specifically the contrast between for and while loops. However, I’ve had some...
New
johnnaa
Hey everyone, I’ve been looking for the best standing desk lately because I’m tired of sitting all day working from home. i read reviews...
New
conwy
Caveat: Apologies in advance – I guess this topic has probably been done to death. But if it’s Ok to ask, I just want to try again and se...
New

Other popular topics Top

PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
PragmaticBookshelf
Write Elixir tests that you can be proud of. Dive into Elixir’s test philosophy and gain mastery over the terminology and concepts that u...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
New
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
PragmaticBookshelf
25 puzzles that will make you a better C programmer by challenging your knowledge of the language, and explaining the technical details o...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
PragmaticBookshelf
This book forgoes the abstract and instead provides concrete examples to help you better leverage the unique properties of Elixir, Erlang...
New
CommunityNews
Open-source implementation of the classic GTA engine now running directly in your browser. Experience the reVC technology demo on DOS.Zon...
New
xiji2646-netizen
There’s a GitHub repo at forrestchang/andrej-karpathy-skills that’s sitting at 97.8k stars. It’s a single CLAUDE.md file with four behavi...
New