Convertir Array a Hash en Ruby

Stewart Nguyen 21 junio 2023
  1. Utilice Array.to_h para convertir matriz a hash en Ruby
  2. Use Hash::[] para convertir matriz a hash en Ruby
Convertir Array a Hash en Ruby

Este artículo discutirá brevemente la solución para convertir la siguiente matriz:

['key1', 'value1', 'key2', 'value2']

en un hash con el siguiente formato:

{ 'key1' => 'value1', 'key2' => 'value2' }

Utilice Array.to_h para convertir matriz a hash en Ruby

Ruby versión 2.1.10 introdujo un nuevo método, to_h en la matriz, que interpreta una matriz de 2 elementos en un hash.

Código:

[['key1', 'value1'], ['key2', 'value2']].to_h

Primero necesitamos convertir nuestra matriz original en una matriz de 2 elementos.

Código:

['key1', 'value1', 'key2', 'value2'].each_slice(2).to_a

Producción :

[["key1", "value1"], ["key2", "value2"]]

Combina todo con la versión de 1 línea.

Código:

['key1', 'value1', 'key2', 'value2'].each_slice(2).to_a.to_h

Producción :

{ "key1"=>"value1", "key2"=>"value2" }

Use Hash::[] para convertir matriz a hash en Ruby

Hash::[] acepta una lista de argumentos. El número de esta lista debe ser par, o se generará un error.

Hash::[] convierte la lista en un hash, donde los argumentos impares serán las claves, y los argumentos pares serán los valores.

Código:

Hash['key1', 'value1', 'key2', 'value2']

Producción :

{"key1"=>"value1", "key2"=>"value2"}

Artículo relacionado - Ruby Array