私はこのような配列を持っています:
arr = [{id: 1, name: 'John' }, {id: 2, name: 'Sam' }, {id: 3, name: 'Bob' }]
arr
いずれかのオブジェクトに nameがあるかどうかを確認する必要がありますSam
。最もエレガントな方法は何ですか?とサイクリングすることしか考えられませんeach
。
私はこのような配列を持っています:
arr = [{id: 1, name: 'John' }, {id: 2, name: 'Sam' }, {id: 3, name: 'Bob' }]
arr
いずれかのオブジェクトに nameがあるかどうかを確認する必要がありますSam
。最もエレガントな方法は何ですか?とサイクリングすることしか考えられませんeach
。
いずれかの arr オブジェクトの名前が Sam かどうかを確認する必要があります
Enumerable#any?
良い方法です。
arr = [ {id: 1, name: 'John' }, {id: 2, name: 'Sam' }, {id: 3, name: 'Bob' }]
arr.any? {|h| h[:name] == "Sam"}
# => true
また、 SamArray
という値を持つオブジェクトも確認したい場合は、同じものを使用できます。Enumerable#find
arr.find {|h| h[:name] == "Sam"}
# => {:id=>2, :name=>"Sam"}