How to Sort a Map by Values in JavaScript


How to Sort a Map by Values in JavaScript ?

Answer

To sort a map by values in JavaScript, 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 JavaScript 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.

JavaScript Program

const myMap = new Map([
    ['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 JavaScript 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.

JavaScript Program

const myMap = new Map([
    ['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 JavaScript 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.

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[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 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 ?