arrays – Perl:搜索数组中的项目

前端之家收集整理的这篇文章主要介绍了arrays – Perl:搜索数组中的项目前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给定一个数组@A,我们想检查元素$B是否在其中.一种方法是这样说:

Foreach $element (@A){
    if($element eq $B){
        print "$B is in array A";
    }
}

然而,当它到达Perl时,我总是在思考最优雅的方式.这就是我的想法:
如果我们将A转换为变量字符串并使用,有没有办法找出数组A是否包含B.

index(@A,$B)=>0

那可能吗?

解决方法

有很多方法可以确定元素是否存在于数组中:

>使用foreach

foreach my $element (@a) {
    if($element eq $b) {
       # do something             
       last;
    }
}

>使用Grep:

my $found = grep { $_ eq $b } @a;

>使用List::Util模块

use List::Util qw(first); 

my $found = first { $_ eq $b } @a;

>使用由Slice初始化的哈希

my %check;
@check{@a} = ();

my $found = exists $check{$b};

>使用由地图初始化的哈希

my %check = map { $_ => 1 } @a;

my $found = $check{$b};

猜你在找的Perl相关文章