小编Mar*_*ali的帖子

筛选包含整数和字符串的数组

我试图制作一种方法来过滤包含正整数和字符串的数组,而只留下整数,但是很奇怪,我的代码无法正常工作。

def filter_list(l)
 l.map { |items| items.is_a?(Integer) ? items : l.delete(items) }
end

filter_list([1,2,'a','b'])
Run Code Online (Sandbox Code Playgroud)

从理论上讲,我的代码行得通,因为如果我替换itemsl.delete(items)使用单词“ true”和“ false”替换整数和字符串,则返回正确

[true, true, false, false]
Run Code Online (Sandbox Code Playgroud)

但是,保持items : l.delete(items)它还给我

[1, 2, "a"] or sometimes [1, 2, "b"]
Run Code Online (Sandbox Code Playgroud)

因此只删除了一个。如何更改我的方法以仅返回整数?

ruby arrays

2
推荐指数
1
解决办法
1162
查看次数

标签 统计

arrays ×1

ruby ×1