从ruby数组中删除非整数

Bet*_*ght 0 ruby arrays hash

我正在映射哈希以创建数字数组.有一些不是整数的元素我想完全抛弃.有谁知道怎么做?或者我是否必须再次映射该阵列并将其拉出来?

tad*_*man 6

如果您已经对输入进行了任何转换,那么选择您想要的东西应该是一个简单的例子:

hash.values.grep(Float)
Run Code Online (Sandbox Code Playgroud)

如果您的代码非常具有异乎寻常性,那么它会查找Float或Float派生的任何内容.

值得注意的是,该grep工具非常通用.大多数人认为它只适用于字符串或正则表达式,但它实际上比它更有能力.

  • 总是赞赏提醒'grep`的力量.如果数组可能包含浮点数和整数,并且你想要两者,`[2,3.1,:cat] .grep(数值)#=> [2,1.1]`,作为`Numeric === 2#=> true`和`Numeric === 3.1#=> true`. (2认同)