Ruby 检查数组,返回索引,哪些数据存在

标签 ruby arrays

如何检查数组中是否有不为 nil 的数据,然后返回该数据的索引? 示例:

myary = [nil, nil, 300, nil, nil] # <= index 2 is 300

现在有获取值2的方法吗?正如我们所知,索引 2 是 300 而不是零。 我需要获取索引而不是值。而且可能只有一个元素不是零,也许数组可能是这样的

myotherary = [nil, nil, 300, 400, nil] # <= index 2,3 = 300,400

现在为此我需要获得 2 和 3 值,这可行吗? 好的,非常感谢,感谢所有的回答。

P.S : 请不要发火,如果你不想帮忙就走吧,我花了一些时间来解决这个问题,但没有成功。我不会在这里问我是否可以自己解决它。我有足够多的人不帮忙,而是问“你试过什么方法?”或者写一些实际上无济于事但令人讨厌的东西。

最佳答案

您可以使用 map.with_index :

myary.map.with_index { |v, i| i if v }.compact
# => [2]
myotherary.map.with_index { |v, i| i if v }.compact
# => [2, 3]

关于Ruby 检查数组,返回索引,哪些数据存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915182/

相关文章:

ruby-on-rails - 如何汇总 Ruby on Rails 中连接表中的所有关联记录?

ruby - 为什么循环中的 Rake 任务只执行一次?

Ruby-获取 xml 节点值

ruby - 使用 ctags 从 Emacs 中的另一个 ruby​​ gem 快速导航到函数的定义代码

javascript - JavaScript 中不区分大小写的数组比较

ruby-on-rails - 从数据库项数组中获取属性数组

arrays - 迭代数组并计数从负到正的变化(反之亦然)

ruby - 为什么这个 Ruby 的每个循环都不会中断?

javascript - 在 Angular 中初始化具有一定数量元素的类数组

php - 使用 PHP 在文件 txt 中搜索名称