gpt4 book ai didi

Ruby 根据 key=>value 从数组中删除重复项

转载 作者:数据小太阳 更新时间:2023-10-29 06:56:00 24 4
gpt4 key购买 nike

我有一个 Musical Tracks 数组,在这个数组中,由于在多个专辑中发布,同一首歌可以出现多次。我试图将它们从数组中删除,以便列表中只显示真正的唯一元素。

哈希看起来像这样:

"tracks" => [
[0] {
"id" => 1,
"Title" => "Intergalactic",
"ArtistName" => "Beastie Boys"
},
[1] {
"id" => 2,
"Title" => "Intergalactic",
"ArtistName" => "Beastie Boys"
}
]

我需要一种方法来根据 Title 键删除重复项。无论如何要这样做?

最佳答案

如果你正在使用 ActiveSupport,你可以使用 uniq_by,像这样:

tracks.uniq_by {|track| track["title"]}

如果没有,那么您可以轻松地自己实现它。 See this.

# File activesupport/lib/active_support/core_ext/array/uniq_by.rb, line 6
def uniq_by
hash, array = {}, []
each { |i| hash[yield(i)] ||= (array << i) }
array
end

关于Ruby 根据 key=>value 从数组中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com