How to Convert an Array of Key-Value Pairs to a Map in Ruby


How to Convert an Array of Key-Value Pairs to a Map in Ruby ?

Answer

To convert an array of key-value pairs to a hash in Ruby, you can use the `to_h` method, which creates a hash from a collection of key-value pairs.



✐ Examples

1 Converting an Array of Arrays to a Hash

We can convert an array of key-value pairs to a hash in Ruby using the `to_h` method, which directly converts an array of pairs to a hash.

For example,

  1. We start by declaring and initializing an array of key-value pairs named pairs. In this example, the pairs are represented as arrays with two elements: a key and a value.
  2. We convert the array of pairs to a hash using the to_h method.
  3. We print the resulting hash to the console using the puts method to verify the conversion.

Ruby Program

pairs = [
    [1, 10],
    [2, 20],
    [3, 30],
    [4, 40],
    [5, 50]
]

# Convert the array of pairs to a hash
my_hash = pairs.to_h

# Print the resulting hash
puts 'Hash from array of pairs:'
my_hash.each do |key, value|
  puts "#{key}: #{value}"
end

Output

Hash from array of pairs:
1: 10
2: 20
3: 30
4: 40
5: 50

2 Converting an Array of Objects to a Hash

We can convert an array of objects with key and value properties to a hash in Ruby by iterating over the array and adding each object's key-value pair to the hash.

For example,

  1. We start by declaring and initializing an array of objects named pairs. In this example, each object is a hash with :key and :value properties.
  2. We create an empty hash named my_hash to store the key-value pairs.
  3. We iterate over the array using the each method and add each object's key-value pair to the hash.
  4. We print the resulting hash to the console using the puts method to verify the conversion.

Ruby Program

pairs = [
    { key: 1, value: 10 },
    { key: 2, value: 20 },
    { key: 3, value: 30 },
    { key: 4, value: 40 },
    { key: 5, value: 50 }
]

# Create an empty hash to store the key-value pairs
my_hash = {}

# Iterate over the array and add each object's key-value pair to the hash
pairs.each do |pair|
  my_hash[pair[:key]] = pair[:value]
end

# Print the resulting hash
puts 'Hash from array of objects:'
my_hash.each do |key, value|
  puts "#{key}: #{value}"
end

Output

Hash from array of objects:
1: 10
2: 20
3: 30
4: 40
5: 50

3 Converting a List of Pairs to a Hash

We can convert a list of key-value pairs to a hash in Ruby using the `to_h` method, which directly converts a list of pairs to a hash.

For example,

  1. We start by declaring and initializing a list of key-value pairs named pairs. In this example, the pairs are represented as arrays with two elements: a key and a value.
  2. We convert the list of pairs to a hash using the to_h method.
  3. We print the resulting hash to the console using the puts method to verify the conversion.

Ruby Program

pairs = [
    [1, 10],
    [2, 20],
    [3, 30],
    [4, 40],
    [5, 50]
]

# Convert the list of pairs to a hash
my_hash = pairs.to_h

# Print the resulting hash
puts 'Hash from list of pairs:'
my_hash.each do |key, value|
  puts "#{key}: #{value}"
end

Output

Hash from list of pairs:
1: 10
2: 20
3: 30
4: 40
5: 50

Summary

In this tutorial, we learned How to Convert an Array of Key-Value Pairs to a Map in Ruby language with well detailed examples.




More Ruby Maps Tutorials

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