首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在数组中查找共享重复属性的元素

如何在数组中查找共享重复属性的元素
EN

Stack Overflow用户
提问于 2019-07-28 23:22:28
回答 1查看 50关注 0票数 0

我有一系列的玩家。每个玩家都被分配了一个score_value。我要找那些打成平手的选手。

这个数组是@@players_list,它有未知数量的播放器。

我试过了:

代码语言:javascript
运行
复制
@@players_list = [player1, player2, player3]

tied = @@Players_.list.find_all {|p| p.win_value.to_s.count(p.win_value.to_s) > 1}

这不会返回错误,但也不会标识重复的分数值

代码语言:javascript
运行
复制
tied = @@players_list.select {|p| array{|p| p.score_value}.count(p.score_value) > 1}.uniq 

这将返回:

代码语言:javascript
运行
复制
syntax error, unexpected '}', expecting keyword_end
..._value}.count(p.win_value) > 1}.uniq
EN

Stack Overflow用户

发布于 2019-07-30 09:32:04

感谢Sergio Tulentsev让我达到了90%。这是我想出的似乎有效的方法。

代码语言:javascript
运行
复制
group_by_win_value =  @@players_list.group_by(&:win_value)
group_by_win_value.each do |key, value|
    @tied_players = []
    if value.count > 1
        puts "the following players are tied"
        value.each do |player|
            puts player.name``
            @tied_players << player
        end
    end
end
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57242259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档