簡體   English   中英

Ruby on rails:將 hash 中的所有特定鍵值存儲到數組中

[英]Ruby on rails: store all specific key values from a hash into an array

如何使用零安全導航在以下 hash 中創建所有“name_printed”鍵的數組?

 {
  "show_data_on_file": "Yes",
  "employees_names_printed_on_badges": [
    {
      "name_printed": "John",
      "badge_id": 12160060
    },
    {
      "name_printed": "Tom",
      "badge_id": 12160080
    }
  ]
}

您可以使用Enumerable#pluck 如果employees_names_printed_on_badges返回一個假值,您可以在一個空數組上調用pluck

(data[:employees_names_printed_on_badges] || []).pluck(:name_printed)
# ["John", "Tom"]

或者使用& ,如果data[:employees_names_printed_on_badges]&為 nil,則結果為 nil。

data[:employees_names_printed_on_badges]&.pluck(:name_printed)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM