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;
THE END