From: sawadatsuyoshi@... Date: 2019-02-08T09:19:51+00:00 Subject: [ruby-core:91490] [Ruby trunk Feature#15590] Add dups to Array to find duplicates Issue #15590 has been updated by sawa (Tsuyoshi Sawada). With the newly introduced `tally`, you can also do: ```ruby a = ["Tokyo", "Paris", "London", "Miami", "Paris", "Orlando", "Dubai", "Tokyo", "Paris"] a.tally(&:itself).flat_map{|k, v| Array.new(v - 1, k)} #=> ["Tokyo", "Paris", "Paris"] ``` ---------------------------------------- Feature #15590: Add dups to Array to find duplicates https://bugs.ruby-lang.org/issues/15590#change-76750 * Author: xdmx (Eric Bloom) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Many times I find myself debugging data and the need of finding duplicated values inside of an Array. Based on the amount of data it could be a simple `array.detect { |value| array.count(value) > 1 }` or a more performant way like ```ruby def dups_for(array) duplicated_values = [] tmp = {} array.each do |value| duplicated_values << value if tmp[value] tmp[value] = true end duplicated_values end ``` It would be awesome if there was a way directly from the core language to call `dups` (or another name, as it could be too similar to the current `dup`) on an array in order to get all the duplicated values. I'd love to create a PR for this, but my C level is non-existent ���� -- https://bugs.ruby-lang.org/ Unsubscribe: