首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Perl中将散列数组转换为标量值数组

在Perl中将散列数组转换为标量值数组
EN

Stack Overflow用户
提问于 2018-07-05 13:06:36
回答 1查看 526关注 0票数 0

我引用了这样的哈希数组

代码语言:javascript
复制
[
    {
        'parameters'              => '',
        'default_init_for_config' => '1',
        'name'                    => 'CWG.BasicCmode.sim',
        'init'                    => 'config/CWG.BasicCmode.sim'
    },
    {
        'parameters'              => '',
        'default_init_for_config' => '0',
        'name'                    => 'CWG.BasicCmode.MFA.sim',
        'init'                    => 'config/CWG.BasicCmode.MFA.sim'
    },
    {
        'parameters'              => '',
        'default_init_for_config' => '0',
        'name'                    => 'NoInit',
        'init'                    => 'config/NoInit'
    },
    {
        'parameters'              => '',
        'default_init_for_config' => '0',
        'name'                    => '2Vsim.mcc',
        'init'                    => 'config/2Vsim.mcc'
    },
]

我只想提取键name的值,并将其分配给同一个数组。

我删除了所有其他的钥匙,得到了这样的信息:

代码语言:javascript
复制
[
    {
        'name' => 'CWG.BasicCmode.sim'
    },
    {
        'name' => 'CWG.BasicCmode.MFA.sim'
    },
    {
        'name' => 'NoInit'
    },
    {
        'name' => '2Vsim.mcc'
    },
    {
        'name' => 'FakeAFF_HA.sim'
    },
    {
        'name' => 'ISCSI.sim'
    },
    {
        'name' => 'CWG.ExtendedCmode.sim'
    },
    {
        'name' => 'CWG.BasicCmodeNonHA.sim'
    },
    {
        'name' => '2Vsim.FakeAFF.mcc'
    },
]

现在该怎么做?

输出应该是

代码语言:javascript
复制
[
    'CWG.Basicmode.sim',
    'CWG.BasicCmode.MFA.sim',
    'NoInit',
    ...
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-05 13:28:41

若要将散列数组转换为要从给定键的散列构造的纯量值数组,可以使用map。例如,假设每个散列都有一个name键,我们可以将所有这些键的值放在一个新的数组中,如下所示:

代码语言:javascript
复制
my $new_array_ref = [map { $_->{name} } @$array_ref];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51192110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档