为了账号安全,请及时绑定邮箱和手机立即绑定

检查Ruby中的数组中是否存在值

检查Ruby中的数组中是否存在值

米琪卡哇伊 2019-10-23 12:50:32
我有一个值'Dog'和一个数组['Cat', 'Dog', 'Bird']。如何检查它是否存在于数组中而不遍历它?有没有简单的方法检查值是否存在,仅此而已?
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

您正在寻找include?:


>> ['Cat', 'Dog', 'Bird'].include? 'Dog'

=> true


查看完整回答
反对 回复 2019-10-23
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

用途Enumerable#include:


a = %w/Cat Dog Bird/


a.include? 'Dog'

或者,如果完成了许多测试,则1可以摆脱循环(甚至include?具有循环),并通过以下方式从O(n)变为O(1):


h = Hash[[a, a].transpose]

h['Dog']

1.我希望这很明显,但是可以避免异议:是的,仅需进行几次查找,Hash []和转置操作就可以控制配置文件,并且它们各自都是O(n)。


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 1406 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信