ruby - 如何 "uniq"一个数组,保留每个元素的最后一个副本而不是第一个?

标签 ruby

Array#uniq 被调用时,新数组保留每个副本的第一次出现:

["a", "b", "c", "a"].uniq #=> ["a", "b", "c"]

标准库是否提供了一种干净的方法来“uniq”数组,但保留重复元素的最后出现?

例如:

["b", "c", "a"]

最佳答案

您可以通过反转数组、唯一化它,然后再次将其反转为原始顺序来完成此操作:

["a", "b", "c", "a"].reverse.uniq.reverse
#=> ["b", "c", "a"]

关于ruby - 如何 "uniq"一个数组,保留每个元素的最后一个副本而不是第一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925555/

相关文章:

Ruby 的 GServer 只想在本地主机上工作

ruby-on-rails - 如何命名路由链接?

ruby-on-rails - AWS Elastic Beanstalk Rails 应用程序自动缩放问题

ruby-on-rails - rails twilio api 版本号

ruby - perform_async 在 sidekiq 中不起作用

ruby-on-rails - Rails 多级模型安全性

ruby - MongoDB:无法从 BSON 类型 EOO 转换为 Date

ruby - 如何模拟 Ruby 模块函数?

php - 将此函数从 php 转换为 ruby

ruby-on-rails - MongoDB 对 system.namespaces 集合的冗余查询?