如何在数组中找到元素的索引?
例如,给定
my @weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
我怎样才能找到'Thursday'
的索引?
答案 0 :(得分:7)
我最初的解决方案:
@weekdays.kv.reverse.hash.{'Thursday'} # 3
然后JFerrero使用 antipairs 发布了他的改进解决方案:
@weekdays.antipairs.hash.{'Thursday'} # 3
@weekdays.first('Thursday', :k) # 3
答案 1 :(得分:2)
您可以使用first
(或grep
,如果您想了解所有匹配项,而不仅仅是第一项,请:k
返回密钥(对于列表是始终是一个整数索引)而不是值:
say @weekdays.first('Tuesday', :k); # 1