[Ruby]ハッシュ(Hash)を配列に変換するには?

Ruby

どうも、ちょげ(@chogetarou)です。

ハッシュ(Hash)を配列(array)に変換する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

ハッシュ(Hash)を配列(array)に変換する方法は、3つあります。

キー(key)を配列に変換

ひとつめは、キー(key)を配列に変換する方法です。

hash.keys」のように、ハッシュからkeysメソッドを呼び出します。

#hash=対象のハッシュ
result = hash.keys

上記のkeysメソッドは、呼び出したハッシュ(Hash)のキー(key)を配列(array)に変換します。

使用例

numbers = { 
    "one" => 1, 
    "two" => 2,
    "three" => 3,
    "four" => 4,
    "five" => 5,
}

result = numbers.keys

p result
出力:
["one", "two", "three", "four", "five"]

値(value)を配列に変換

ふたつめは、値(value)を配列に変換する方法です。

具体的には、「hash.values」のように、ハッシュからvaluesメソッドを呼び出します。

#hash=対象のハッシュ
result = hash.values

上記のvaluesメソッドは、呼び出したハッシュ(Hash)の値(value)を配列(array)に変換します。

使用例

numbers = { 
    "one" => 1, 
    "two" => 2,
    "three" => 3,
    "four" => 4,
    "five" => 5,
}

result = numbers.values

p result
出力:
[1, 2, 3, 4, 5]

キーと値のペアを配列に変換

みっつめは、キーと値のペアを配列に変換する方法です。

具体的には、「hash.to_a」のように、ハッシュからto_aメソッドを呼び出します。

#hash=対象のハッシュ
result = hash.to_a

上記のto_aメソッドは、呼び出したハッシュ(Hash)のキーと値のペア(key-value pair)をそのまま配列(array)に変換します。

使用例

numbers = { 
    "one" => 1, 
    "two" => 2,
    "three" => 3,
    "four" => 4,
    "five" => 5,
}

result = numbers.to_a

p result
出力:
[["one", 1], ["two", 2], ["three", 3], ["four", 4], ["five", 5]]

まとめ

ハッシュ(Hash)を配列(array)に変換する方法は、次の3つです。

  • キー(key)を配列に変換する方法
    result = hash.keys
  • 値(value)を配列に変換する方法
    result = hash.values
  • キーと値のペアを配列に変換する方法
    result = hash.to_a

コメント

タイトルとURLをコピーしました