How to Sort a Map by Keys in JavaScript


How to Sort a Map by Keys in JavaScript ?

Answer

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



✐ Examples

1 Sorting a Map by Keys Using Array Conversion

We can sort a map by keys in JavaScript by converting the map to an array of key-value pairs, sorting the array by keys, 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 keys 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.

JavaScript Program

const myMap = new Map([
    ['c', 3],
    ['a', 1],
    ['b', 2]
]);

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

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

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

Output

Sorted Map by Keys: [['a', 1], ['b', 2], ['c', 3]]

2 Sorting a Map by Keys in Descending Order

We can sort a map by keys in descending order in JavaScript by converting the map to an array of key-value pairs, sorting the array by keys 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 keys 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.

JavaScript Program

const myMap = new Map([
    ['c', 3],
    ['a', 1],
    ['b', 2]
]);

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

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

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

Output

Sorted Map by Keys (Descending): [['c', 3], ['b', 2], ['a', 1]]

3 Sorting a Map with Numeric Keys

We can sort a map with numeric keys in JavaScript by converting the map to an array of key-value pairs, sorting the array by keys, 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 numeric keys 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.

JavaScript Program

const myMap = new Map([
    [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[0] - b[0]);

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

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

Output

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

Summary

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




More JavaScript Maps Tutorials

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