gpt4 book ai didi

arrays - 哈希数组元素复制

转载 作者:行者123 更新时间:2023-12-01 07:43:16 25 4
gpt4 key购买 nike

我的哈希数组:

@cur = [
{
'A' => '9872',
'B' => '1111'
},
{
'A' => '9871',
'B' => '1111'
}
];

预期结果:
@curnew = ('9872', '9871');

任何只获取第一个散列元素值的简单方法
这个并将它分配给一个数组?

最佳答案

请注意哈希是无序的,所以我首先使用这个词来表示字典序。

map {                               # iterate over the list of hashrefs
$_->{ # access the value of the hashref
(sort keys $_)[0] # … whose key is the first one when sorted
}
}
@{ # deref the arrayref into a list of hashrefs
$cur[0] # first/only arrayref (???)
}

表达式返回 qw(9872 9871) .

将 arrayref 分配给数组,如 @cur = […]可能是一个错误,但我认为它是表面值(value)。

奖金 perl5i解决方案:
use perl5i::2;
$cur[0]->map(sub {
$_->{ $_->keys->sort->at(0) }
})->flatten;

该表达式返回与上述相同的值。这段代码有点长,但 IMO 更具可读性,因为执行流程严格地从上到下,从左到右。

关于arrays - 哈希数组元素复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8699811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com