a=[1,2,3,4,5] b=[4,3] array_wanted=[4,3,1,2,5]
Я мог бы сделать это с помощью картирования и проталкивания, но мне бы хотелось узнать более элегантные способы сделать это.
(b & a) + (a - b) # => [4, 3, 1, 2, 5]
И если вы уверены, что все элементы из b присутствуют в a, оператор объединения |, похоже, возвращает правильный порядок:
b
a
|
b | a # => [4, 3, 1, 2, 5]