如何访问 bash 关联数组的最后一个元素?

How to access the last element of a bash associative array?

提问人:masrur 提问时间:9/27/2023 最后编辑:masrur 更新时间:9/27/2023 访问量:57

问:

我正在尝试使用以下代码访问 bash 关联数组的最后一个元素: # 声明一个关联数组 声明 -A myAssocArray

# Add key-value pairs to the associative array
myAssocArray["name"]="John"
myAssocArray["age"]=30
myAssocArray["city"]="New York"
myAssocArray["country"]="USA"

keys=("${!myAssocArray[@]}")  # Get all keys
last_key="${keys[-1]}"        # Access the last key
last_element="${myAssocArray[$last_key]}"  # Access the last elemen
echo "$last_element"

它输出:john 而不是 USA 实际上,我正在尝试寻找是否有任何方法可用,例如用于关联数组中最后一个元素访问的负索引

Linux bash shell 元素 关联数组

评论

6赞 Tim Roberts 9/27/2023
关联数组中的键不排序。没有“第一”和“最后”的概念。它们基本上是以随机顺序交付的。
2赞 Gilles Quénot 9/27/2023
所以不要使用关联数组,而是使用带有数字键的简单数组
0赞 masrur 9/27/2023
谢谢大家的帮助。我现在明白这个问题了
1赞 jhnc 9/28/2023
在某些情况下,可以维护帮助程序索引数组 - 每当首次插入哈希键时,请将该键作为值附加到帮助程序中。然后,您可以通过帮助程序取消引用来访问哈希的“最后一个”元素(最近添加的元素)。例如:${hash["${helper[-1]}"]}

答: 暂无答案