ruby - 根据数组在另一个数组中的存在情况对数组重新排序

标签 ruby arrays

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
# => [4, 3, 1, 2, 5]

关于ruby - 根据数组在另一个数组中的存在情况对数组重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4677825/

相关文章:

ruby - 使用正则表达式返回字符串的前缀,其中剥离的字符串有时包含 '/'

javascript - 查找 JSON 数组对 Angular 中的特定键具有特定值

ruby-on-rails - 编译/部署到 Heroku 时出现 sqlite3 错误

ruby - 如何在 ruby​​ 中将服务对象/模块作为参数传递

ruby-on-rails - 通过浏览器而不是控制台使用 Rails 跟踪/BPT 陷阱

Java:整数数组的内存高效存储

python - 在轴上绘制图形但在尝试基于 HoG 特征对图像进行分类时没有得到结果

ruby - 如何让 Sinatra 避免添加 X-Frame-Options header ?

ios - 如何删除数组swift 4中等于特定值的所有元素?

php - 检查数组中是否存在值