Typescript Array Sort example | javascript
- Admin
- Mar 10, 2024
- Javascript Typescript
In this blog post, We are going to learn how to Sort Array in javascript or typescript.
We are going to learn to Sort in typescript
- How to sort an array of strings in typescript?
- How to sort an array of objects in javascript?
The typescript Array class provides a sort method to sort elements.
Javascript Array Sort method
The Array class provides the method sort to the array elements in ascending or descending order.
Elements can be simple strings, Object which contain keys and values, or Typescript classes.
Syntax:
Array.sort(ComparatorFunction);
Parameters are ComparatorFunction is a callback function that specifies the order of the elements, If not passed, the default sorting is applied.
How to Sort Array of String in typescript Example
Array Declared and initialized with new Array() and initialized with strings separated in a comma. The Array.sort() method is used without a comparator function.
Here is an example
var arrayStrings = new Array("one", "two", "there", "four");
var sortedArray = arrayStrings.sort();
console.log("" + sortedArray);
Output:
four,one,there,two
How to sort Array of Interfaces in Typescript
The object can be directly created using data created with array syntax or you can create a use Interface.
This Emp object contains id and names. This example sorts the objects by name property.
First created Emp interface.
interface Emp {
  id: number;
  name: string;
}
Next, Create an Array of Objects and initialize it with values
var emps: Emp[] = [
  { id: "5", name: "Kiran" },
  { id: "1", name: "Frank" },
  { id: "2", name: "Tom" },
  { id: "51", name: "Abc" },
];
Write a Compare Function for the Name of the Emp object
var compareName = function (emp1: Emp, emp2: Emp) {
  if (emp1.name > emp2.name) {
    return -1;
  }
  if (emp1.name < emp2.name) {
    return 1;
  }
  return 0;
};
Finally Call Array.sort() with compare function
var sortedArray = emps.sort(compareName);
console.log(sortedArray);
Output is
0: {id: "2", name: "Tom"}
1: {id: "5", name: "Kiran"}
2: {id: "1", name: "Frank"}
3: {id: "51", name: "Abc"}
How to Sort Array Object Data by Date property Typescript Example
The object contains the key date property.
We can sort the object data based on date in ascending or descending.
Need to supply comparator custom code which handles Date comparisons.
The first Date string is converted to an Inbuilt Date object.
Date ascending This is an example of sorting an array of objects date by date ascending.
interface Emp {
  id: number;
  name: string;
  date: Date;
}
var emps: Emp[] = [
  { id: "5", name: "Kiran", date: "2018-05-05" },
  { id: "1", name: "Frank", date: "2017-05-05" },
  { id: "2", name: "Tom", date: "2016-05-05" },
  { id: "51", name: "Abc", date: "2018-10-05" },
];
var compareDate = function (emp1: Emp, emp2: Emp) {
  var emp1Date = new Date(emp1.date).getTime();
  var emp2Date = new Date(emp2.date).getTime();
  return emp1Date > emp2Date ? 1 : -1;
};
var sortedArray = emps.sort(compareDate);
console.log(sortedArray);
Output:
0: {id: "2", name: "Tom", date: "2016-05-05"}
1: {id: "1", name: "Frank", date: "2017-05-05"}
2: {id: "5", name: "Kiran", date: "2018-05-05"}
3: {id: "51", name: "Abc", date: "2018-10-05"}
We will see the Sort Date by descending. Object property date descending
var compareDate = function (emp1: Emp, emp2: Emp) {
  var emp1Date = new Date(emp1.date).getTime();
  var emp2Date = new Date(emp2.date).getTime();
  return emp1Date > emp2Date ? -1 : 1;
};
Output:
0: {id: "51", name: "Abc", date: "2018-10-05"}
1: {id: "5", name: "Kiran", date: "2018-05-05"}
2: {id: "1", name: "Frank", date: "2017-05-05"}
3: {id: "2", name: "Tom", date: "2016-05-05"}
UnderscoreJs TypescriptArray Sort Example
UnderscoreJS is a javascript library that provides a lot of utility functions.
It provides a sortBy function which accepts an array and a function as an argument. This library can be used in javascript or typescript applications using an npm package manager. This can be installed using the npm command.
Here is an example of array string sorting in descending
var sortedArray = _.sortBy(["four", "one", "zero"], function (value) {
  return value.toLowerCase();
});
console.log(sortedArray);
output:
["four", "one", "zero"];
Conclusion
To Sum Up, You learned the array declaration and initialization syntax of the sort method and how to sort an array of strings, objects, and interfaces with date key sorting in ascending or descending order.
Sort method sorts the original array, if you want the original array not to sort, Please copy the array before doing a sort
