誰もが2つの配列を反復処理してIDを互いに一致させる方法を知っていますか?私はidhouseholdsという一意のIDを持つArray - @householdを持っていて、@events配列のIDを使って、@events配列から@household配列の終わりまでフィールドにタグを付けるとします。2つの配列を一度に反復する
0
A
答えて
0
これはどう...
@household.each do |household_elt|
matching_event = @events.select { |event| event.id == household_elt.idhouseholds }.first
#do the tagging with matching_event
end
+0
しかし、家庭とイベントの間に関連がある場合は、最初にこのタグ付けを行う必要はありません。 – dexter
4
あなたが探していることは2つの配列の'natural join'であるように思えます。その場合
は、ここにあなたのために働くかもしれない何かである:
@household.product(@events).each.map { |x| x if x[0].id == x[1].id }.compact
上記のコードは(ALLに[世帯、イベント]のペアを与える)2つの配列のCartesian productを行い、その後、フィルタリングし一致するidを持つ要素
もちろん、idフィールドを使用して関連付けを行っている場合は、これを行う必要はありません。これはORMレイヤーによって処理されます。
+1
'@ household.product(@events).select {| x | x [0] .id == x [1] .id} 'は少し短いです – DNNX
関連する問題
- 1. Pythonで2つのリストを一度に反復する
- 2. 角度2の反応形式でフォーム配列(配列の配列に配列)を反復する方法は?
- 3. CoffeeScriptの2つの配列に一致する要素を反復する
- 4. 角度2 - jsonオブジェクト内のjson配列を反復する
- 5. オブジェクトの配列を反復する角度2
- 6. 2つの配列を使って反復する方法
- 7. * ngFor-- IONIC2/Angular2で2つの配列を反復する
- 8. 配列の配列を反復するアルゴリズムについて
- 9. 2次元配列のように2つのArrayListを反復する
- 10. 2つのデータセットと角度の一致値を反復する方法
- 11. Javaのループごとに2つの配列を同時に反復する
- 12. 2回のコレクションのノックアウトjsで一度に反復を行う
- 13. 一度に4つの要素をJavaの配列で反復処理する方法はありますか?
- 14. 1つのui:repeatで2つの配列を反復処理する方法は?
- 15. 角度とCreateJS:beginFill変数の配列を反復する
- 16. 2次元配列を効果的に反復する
- 17. 2次元配列を斜めに反復する
- 18. は、反復配列
- 19. 一度に2つの違反ボットを実行するには
- 20. ocamlreの2つの配列の間で関数を構築する反復
- 21. イオン2のポストリクエストから配列のjsonオブジェクトを反復する
- 22. オブジェクトの配列を反復処理すると、キーの角2
- 23. 2つの列に複数の反復値がある行の一致
- 24. 角2 - 安全でない値を持つiframeの配列を反復する
- 25. オブジェクトの配列を反復する
- 26. オブジェクトの配列を反復するanglar2
- 27. SKShapeNodesの配列を反復する
- 28. オブジェクトの配列を反復する
- 29. メソッドの配列を反復する(Android)
- 30. Pugの配列を反復する
これらの配列の内容については、明確にする必要があります。 – Phrogz