为啥 for-in 循环不打印我想要的内容? [复制]

Posted

技术标签:

【中文标题】为啥 for-in 循环不打印我想要的内容? [复制]【英文标题】:Why for-in loop doesn't print what I want? [duplicate]为什么 for-in 循环不打印我想要的内容? [复制] 【发布时间】:2016-01-14 09:26:48 【问题描述】:

我在终端里写了:

arr=(1 2 3)
for x in $arr; do
 echo $x
done

它只打印“1”。 为什么不打印 1 2 3 ?

【问题讨论】:

试试echo $arr以获得进一步的启发。 【参考方案1】:

改变

for x in $arr; do

for x in "$arr[@]"; do

【讨论】:

【参考方案2】:

要扩展到数组的所有元素,请使用"$arr[@]"

for x in "$arr[@]"; do

当您将数组名称用作普通变量时,不对其进行索引,它会扩展到第一个元素。

【讨论】:

以上是关于为啥 for-in 循环不打印我想要的内容? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Python:为啥弹出队列比 for-in 块更快?

为啥这个 Swift Playground 打印和循环两次?

为啥此代码会根据缩进打印出不同的内容?

javascript中for循环和for-in循环的区别

JavaScript循环语句-6

在 for-in 循环中进行类型转换