Sort array of objects by string property value in JavaScript
In this article, we will see how to sort an array of objects by string property value in JavaScript. The array of objects can be sorted by using a user-defined function.
Here we have some common approaches to sorting an array of objects by string property value
- Using sort() with a custom compare function
- sorting by a user-defined function
- Using sort() with a comparison function and the toLowerCase() method
Approach 1: Using sort() with a custom compare function
In this approach, sort() is used with a custom compare function that utilizes localeCompare() to sort the array of objects by a string property value.
Example: In this example, we are using the above-explained approach.
Javascript
const GFG_object = [
{ name: "Rahul" , age: 30 },
{ name: "Aman" , age: 25 },
{ name: "Deepak" , age: 35 }
];
let result = GFG_object.sort((a, b) =>
a.name.localeCompare(b.name));
console.log(result);
|
Output
[
{ name: 'Aman', age: 25 },
{ name: 'Deepak', age: 35 },
{ name: 'Rahul', age: 30 }
]
Approach 2: sorting by a user-defined function.
This function compares the array of objects by its property. this example compares the l_name of objects and if l_name is small then it places into the left otherwise place it into the right position.
Example: In this example, we are using the above-explained approach.
Javascript
let GFG_Object = [
{ f_name: 'Geeks' , l_name: '_2' },
{ f_name: 'for' , l_name: '_1' },
{ f_name: 'GFG' , l_name: '_3' }
];
GFG_Object.sort(compare);
function compare(a, b) {
if (a.l_name < b.l_name)
return -1;
if (a.l_name > b.l_name)
return 1;
return 0;
}
console.log(GFG_Object);
|
Output
[
{ f_name: 'for', l_name: '_1' },
{ f_name: 'Geeks', l_name: '_2' },
{ f_name: 'GFG', l_name: '_3' }
]
Approach 3: Using sort() with a comparison function and the toLowerCase() method
In this approach, sort() with a comparison function and toLowerCase() to sort an array of objects case-insensitively based on a string property.
Example: In this example, we are using the above-explained approach.
Javascript
let GFG_Object = [
{ f_name: 'Geeks' , l_name: '_2' },
{ f_name: 'for' , l_name: '_1' },
{ f_name: 'GFG' , l_name: '_3' }
];
GFG_Object.sort((a, b) =>
a.f_name.toLowerCase().localeCompare(b.f_name.toLowerCase()));
console.log(GFG_Object);
|
Output
[
{ f_name: 'for', l_name: '_1' },
{ f_name: 'Geeks', l_name: '_2' },
{ f_name: 'GFG', l_name: '_3' }
]
Last Updated :
17 Jul, 2023
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...