How to Sort a Map by Values in TypeScript


How to Sort a Map by Values in TypeScript ?

Answer

To sort a map by values in TypeScript, you can convert the map to an array of key-value pairs, sort the array by values, and then convert it back to a map. This method provides a straightforward way to ensure the map is sorted by values.



✐ Examples

1 Sorting a Map by Values Using Array Conversion

We can sort a map by values in TypeScript by converting the map to an array of key-value pairs, sorting the array by values, and then converting it back to a map.

For example,

  1. We start by declaring and initializing a map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We convert the map to an array of key-value pairs using the Array.from method.
  3. We sort the array by values using the sort method.
  4. We create a new map from the sorted array using the Map constructor.
  5. We print the sorted map to the console using the console.log function to verify the sorting.

TypeScript Program

const myMap = new Map<string, number>([
    ['apple', 3],
    ['banana', 1],
    ['cherry', 2]
]);

// Convert the map to an array of key-value pairs
const sortedArray = Array.from(myMap).sort((a, b) => a[1] - b[1]);

// Create a new map from the sorted array
const sortedMap = new Map(sortedArray);

// Print the sorted map
console.log('Sorted Map by Values:', Array.from(sortedMap));

Output

Sorted Map by Values: [['banana', 1], ['cherry', 2], ['apple', 3]]

2 Sorting a Map by Values in Descending Order

We can sort a map by values in descending order in TypeScript by converting the map to an array of key-value pairs, sorting the array by values in descending order, and then converting it back to a map.

For example,

  1. We start by declaring and initializing a map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We convert the map to an array of key-value pairs using the Array.from method.
  3. We sort the array by values in descending order using the sort method with a custom comparator.
  4. We create a new map from the sorted array using the Map constructor.
  5. We print the sorted map to the console using the console.log function to verify the sorting.

TypeScript Program

const myMap = new Map<string, number>([
    ['apple', 3],
    ['banana', 1],
    ['cherry', 2]
]);

// Convert the map to an array of key-value pairs
const sortedArray = Array.from(myMap).sort((a, b) => b[1] - a[1]);

// Create a new map from the sorted array
const sortedMap = new Map(sortedArray);

// Print the sorted map
console.log('Sorted Map by Values (Descending):', Array.from(sortedMap));

Output

Sorted Map by Values (Descending): [['apple', 3], ['cherry', 2], ['banana', 1]]

3 Sorting a Map with Numeric Keys by Values

We can sort a map with numeric keys by values in TypeScript by converting the map to an array of key-value pairs, sorting the array by values, and then converting it back to a map.

For example,

  1. We start by declaring and initializing a map named myMap with some key-value pairs. In this example, the map has numeric keys and string values.
  2. We convert the map to an array of key-value pairs using the Array.from method.
  3. We sort the array by values using the sort method.
  4. We create a new map from the sorted array using the Map constructor.
  5. We print the sorted map to the console using the console.log function to verify the sorting.

TypeScript Program

const myMap = new Map<number, string>([
    [3, 'three'],
    [1, 'one'],
    [2, 'two']
]);

// Convert the map to an array of key-value pairs
const sortedArray = Array.from(myMap).sort((a, b) => a[1].localeCompare(b[1]));

// Create a new map from the sorted array
const sortedMap = new Map(sortedArray);

// Print the sorted map
console.log('Sorted Map by Values:', Array.from(sortedMap));

Output

Sorted Map by Values: [[1, 'one'], [2, 'two'], [3, 'three']]

Summary

In this tutorial, we learned How to Sort a Map by Values in TypeScript language with well detailed examples.




More TypeScript Maps Tutorials

  1. How to create an Empty Map in TypeScript ?
  2. How to create a Map with Initial Key-Value Pairs in TypeScript ?
  3. How to Print a Map in TypeScript ?
  4. How to Add a Key-Value Pair to a Map in TypeScript ?
  5. How to Set a Default Value for a Key in a Map in TypeScript ?
  6. How to Update the Value for a Key in a Map in TypeScript ?
  7. How to Check if a Map is Empty in TypeScript ?
  8. How to Check if a Key Exists in a Map in TypeScript ?
  9. How to Check if a Value Exists in a Map in TypeScript ?
  10. How to Get the Value Associated with a Key in a Map in TypeScript ?
  11. How to Remove a Key-Value Pair from a Map in TypeScript ?
  12. How to Remove Key-Value Pairs from a Map Based on Values in TypeScript ?
  13. How to Clear All Key-Value Pairs from a Map in TypeScript ?
  14. How to Iterate Over Keys in a Map in TypeScript ?
  15. How to Iterate Over Values in a Map in TypeScript ?
  16. How to Iterate Over Entries (Key-Value Pairs) in a Map in TypeScript ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Map in TypeScript ?
  18. How to Convert a Map to an Array of Keys in TypeScript ?
  19. How to Convert a Map to an Array of Values in TypeScript ?
  20. How to Convert a Map to an Array of Key-Value Pairs in TypeScript ?
  21. How to Merge Two Maps in TypeScript ?
  22. How to Copy a Map in TypeScript ?
  23. How to Check if Two Maps are Equal in TypeScript ?
  24. How to Sort a Map by Keys in TypeScript ?
  25. How to Sort a Map by Values in TypeScript ?
  26. How to Filter a Map Based on Keys in TypeScript ?
  27. How to Filter a Map Based on Values in TypeScript ?
  28. How to Reduce Values in a Map to a Single Value in TypeScript ?
  29. How to Convert an Array of Key-Value Pairs to a Map in TypeScript ?
  30. How to Convert a Map to a JSON String in TypeScript ?
  31. How to Convert a JSON String to a Map in TypeScript ?
  32. How to Swap Keys and Values in a Map in TypeScript ?
  33. How to Create a Map of Maps in TypeScript ?
  34. How to Iterate Over a Map of Maps in TypeScript ?