如何快速返回一个元素在数组中的index

$i= grep{ $ID[$_] =~/$line[0]/} 0..$#ID;


这样行不行?

求助高手,有更好的更快的解决办法没?

作者: masylichu   发布时间: 2011-06-01

二分查找?

作者: Cu_fans   发布时间: 2011-06-01

array 也可以用 each

你这样用 = 左边应该是个 array 吧?要不只计算个数了

作者: zhlong8   发布时间: 2011-06-01

回复 zhlong8


    就是我有一个@line 和一个@ID,在数组@ID中的元素是没有重复的。而@line中的元素全部是在@ID中
   

  现在我想知道,@line中的每一个元素在@ID这个数组中的index值。  这个就是我的需求。

作者: masylichu   发布时间: 2011-06-01



QUOTE:
回复  zhlong8


    就是我有一个@line 和一个@ID,在数组@ID中的元素是没有重复的。而@line中的元素全 ...
masylichu 发表于 2011-06-01 14:28




    那你用个 for 循环,找到即退出循环不是最简单的方法吗?用 grep 要循环所有元素

作者: zhlong8   发布时间: 2011-06-01

List::MoreUtils

函数

firstidx
lastidx
indexes

作者: longbow0   发布时间: 2011-06-01



QUOTE:
$i= grep{ $ID[$_] =~/$line[0]/} 0..$#ID;


这样行不行?

求助高手,有更好的更快的解决办法没?
masylichu 发表于 2011-06-01 14:06




要做什麼用呢!!??
一般用都是建hash,完全不須要找數組的index....

作者: jason680   发布时间: 2011-06-01