1
0
mirror of https://github.com/jbranchaud/til synced 2026-01-07 09:08:01 +00:00

Add Turn Key And Value Arrays Into A Hash as a ruby til

This commit is contained in:
jbranchaud
2020-07-30 12:54:22 -05:00
parent 36a63aa4a2
commit 20c7567f2b
2 changed files with 24 additions and 1 deletions

View File

@@ -9,7 +9,7 @@ and pairing with smart people at Hashrocket.
For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud). For a steady stream of TILs, [sign up for my newsletter](https://tinyletter.com/jbranchaud).
_939 TILs and counting..._ _940 TILs and counting..._
--- ---
@@ -790,6 +790,7 @@ _939 TILs and counting..._
- [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md) - [Squeeze Out The Extra Space](ruby/squeeze-out-the-extra-space.md)
- [String Interpolation With Instance Variables](ruby/string-interpolation-with-instance-variables.md) - [String Interpolation With Instance Variables](ruby/string-interpolation-with-instance-variables.md)
- [Summing Collections](ruby/summing-collections.md) - [Summing Collections](ruby/summing-collections.md)
- [Turn Key And Value Arrays Into A Hash](ruby/turn-key-and-values-arrays-into-a-hash.md)
- [Turning Any Class Into An Enumerator](ruby/turning-any-class-into-an-enumerator.md) - [Turning Any Class Into An Enumerator](ruby/turning-any-class-into-an-enumerator.md)
- [Turning Things Into Hashes](ruby/turning-things-into-hashes.md) - [Turning Things Into Hashes](ruby/turning-things-into-hashes.md)
- [Uncaught Exceptions In Pry](ruby/uncaught-exceptions-in-pry.md) - [Uncaught Exceptions In Pry](ruby/uncaught-exceptions-in-pry.md)

View File

@@ -0,0 +1,22 @@
# Turn Key And Value Arrays Into A Hash
Let's say you have an array of keys and an array of values:
```ruby
keys = [:title, :author, :year]
values = ["The Fifth Season", "N. K. Jemisin", 2015]
```
You can turn them into a hash where the keys of that hash come from `keys` and
are tied in order, one-to-one with the `values`.
A `hash` can be created from an array of tuples, where each is a key-value
pairing. Knowing this, we can `zip` the two arrays together and then turn them
into a `hash` like so:
```ruby
> Hash[keys.zip(values)]
#=> {:title=>"The Fifth Season", :author=>"N. K. Jemisin", :year=>2015}
```
[source](https://stackoverflow.com/a/23113943/535590)