我的哈希数组是这样的:
[
{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!107", :name=>"Folder 11", :type=>"folder"},
{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!105", :name=>"Pictures", :type=>"album"},
{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!113", :name=>"Public", :type=>"folder"},
{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!124", :name=>"sasd", :type=>"folder"},
{:id=>nil, :name=>nil, :type=>nil},
{:id=>nil, :name=>nil, :type=>nil},
{:id=>nil, :name=>nil, :type=>nil},
{:id=>nil, :name=>nil, :type=>nil},
{:id=>nil, :name=>nil, :type=>nil},
{:id=>nil, :name=>nil, :type=>nil},
{:id=>nil, :name=>nil, :type=>nil}
]
Run Code Online (Sandbox Code Playgroud)
我怎样才能去除nil,如果在我的哈希值id是nil?
您可以使用reject:
arr.reject{|h| h[:id].nil?}
=> [{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!107", :name=>"Folder 11", :type=>"folder"},
{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!105", :name=>"Pictures", :type=>"album"},
{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!113", :name=>"Public", :type=>"folder"},
{:id=>"folder.cecb8eb83d90dbeb.CECB8EB83D90DBEB!124", :name=>"sasd", :type=>"folder"}]
Run Code Online (Sandbox Code Playgroud)
或者select:
arr.select { |h| h[:id] }
Run Code Online (Sandbox Code Playgroud)