在 Perl 中删除数组元素的“正确”方法是什么?
我有一个包含一组元素的数组。元素的顺序并不重要 - 我使用数组是因为它是我所知道的 Perl 中最简单的数据结构。
my @arr = ... while (some condition) { # iterate over @arr and remove all elements which meet some criteria # (which depends on $i) }
我了解 splice(),但我认为在迭代过程中使用它不太好。删除数组元素似乎已被弃用。也许在 @arr 上使用 grep(@arr = grep {…} @arr) ?
这里的最佳实践是什么?
也许我正在使用哈希(尽管我并不真正需要它)?
解决方案
你关于使用grep的想法很好
@arr = grep { cond($i++); } @arr;
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。