如何使用零安全導航在以下哈希中創建所有“name_printed”鍵的陣列?
{
"show_data_on_file": "Yes",
"employees_names_printed_on_badges": [
{
"name_printed": "John",
"badge_id": 12160060
},
{
"name_printed": "Tom",
"badge_id": 12160080
}
]
}
uj5u.com熱心網友回復:
你可以使用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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/364011.html
上一篇:多字串插值中的Ruby斷線
