给定一个数组,如何找到与给定条件匹配的元素的所有索引?
例如,如果我有:
arr = ['x', 'o', 'x', '.', '.', 'o', 'x'] 要找到项目所在的所有索引x,我可以这样做:
arr.each_with_index.map { |a, i| a == 'x' ? i : nil }.compact # => [0, 2, 6] 要么
(0..arr.size-1).select { |i| arr[i] == 'x' } # => [0, 2, 6] 有没有更好的方法来实现这一目标? 问题来源于stack overflow
Ruby 1.9:
arr = ['x', 'o', 'x', '.', '.', 'o', 'x'] p arr.each_index.select{|i| arr[i] == 'x'} # =>[0, 2, 6] 码
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。