ich ein Array haben A
die wie folgt aussieht:, wie Elemente in Array auszuwählen, aus mehreren Elementen in einem anderen Array
A = [ { "id" => "1234", "name" => "audi", "isCool" => false },
{ "id" => "5678", "name" => "acura", "isCool" => false },
{ "id" => "9101112", "name" => "bentley", "isCool" => true },
{ "id" => "13141516", "name" => "rollsroyce", "isCool" => true },
{ "id" => "17181920", "name" => "toyota", "isCool" => true } ]
und ich habe ein Array B
die wie folgt aussieht:
B = ["1234", "13141516”]
Ich versuche, nur Elemente aus Array A auszuwählen, die den Array-IDs mit Array-Bs-Elementen entsprechen.
So die zurückgegebenen Ergebnisse, die ich möchte, ist:
C = [ { "id" => "1234", "name" => "audi", "isCool" => false },
{ "id" => "13141516", "name" => "rollsroyce", "isCool" => true } ]
Gibt es eine einfache Möglichkeit, um dies zu realisieren?
Ich habe dies zur Zeit versucht, aber offensichtlich keine gute Idee:
a.select {|x| x['id'] == B.first || B.last}
Aber offensichtlich ist dies nicht dynamisch, denn was ist, wenn ich hatte 3 oder 4 Elemente in Array B
.
ah das ist schlau. es funktionierte. Vielen Dank – adbarads