我想做某事。像这样:
foo=(a b c)
foo-=b
echo $foo # should output "a c"
如何从数组中删除条目?
foo-=b
不起作用。无论条目在哪里,删除都应该有效。
最佳答案
删除元素编号 $i
:a=("${(@)a[1,$i-1]}" "${(@)a[$i+1,$#a]}")
(更简单的构造 a=($a[1,$i-1] $a[$i+1,-1])
也会删除空元素。)
添加:
删除任何出现的 b
:a=("${(@)a:#b}")
:#
是删除匹配元素的象形文字; ""
和 (@)
是在数组上正确操作,即使它们包含空元素。
关于arrays - 从数组中删除条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435355/