Konvertieren Sie Array in Ruby in Hash

Stewart Nguyen 21 Juni 2023
  1. Verwenden Sie Array.to_h, um Array in Ruby in Hash umzuwandeln
  2. Verwenden Sie Hash::[], um Array in Ruby in Hash umzuwandeln
Konvertieren Sie Array in Ruby in Hash

In diesem Artikel wird kurz die Lösung zum Konvertieren des folgenden Arrays erläutert:

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

in einen Hash mit folgendem Format:

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

Verwenden Sie Array.to_h, um Array in Ruby in Hash umzuwandeln

Ruby Version 2.1.10 führte eine neue Methode, to_h auf dem Array ein, die ein Array mit 2 Elementen in einen Hash interpretiert.

Code:

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

Wir müssen zuerst unser ursprüngliches Array in ein 2-Element-Array konvertieren.

Code:

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

Ausgang:

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

Kombinieren Sie alles mit 1-zeiliger Version.

Code:

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

Ausgang:

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

Verwenden Sie Hash::[], um Array in Ruby in Hash umzuwandeln

Hash::[] akzeptiert eine Liste von Argumenten. Die Nummer dieser Liste sollte gerade sein, sonst wird ein Fehler ausgelöst.

Hash::[] wandelt die Liste in einen Hash um, wobei ungerade Argumente die Schlüssel und gerade Argumente die Werte sind.

Code:

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

Ausgang:

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

Verwandter Artikel - Ruby Array