私は2つの配列を持っています:
array1 = [:key1, :key2]
array2 = [[:key1,2],[:key2,8],[:key3,1]]
に存在する配列の配列array2
が欲しいのですが。たとえば、上記の場合::key...
array1
result = [[:key1,2],[:key2,8]]
私は2つの配列を持っています:
array1 = [:key1, :key2]
array2 = [[:key1,2],[:key2,8],[:key3,1]]
に存在する配列の配列array2
が欲しいのですが。たとえば、上記の場合::key...
array1
result = [[:key1,2],[:key2,8]]
これはあなたの例を満たします:
array2.select {|key,value| array1.include?(key) }
これは、クイックハッシュスライスを使用して機能します。
array1.zip(Hash[array2].values_at(*array1))
=> [[:key1, 2], [:key2, 8]]
キー値がarray2
繰り返されると、前のインスタンスを踏みにじることになるため、機能しません。そうでなければ、それらが繰り返されない場合、特にarray2
成長する場合、これは非常に高速になります。