gpt4 book ai didi

arrays - 根据数组中的值按键对字典进行排序

转载 作者:行者123 更新时间:2023-11-28 05:29:53 27 4
gpt4 key购买 nike

如何按照数组中列出的顺序按键对字典进行排序?参见示例:

要排序的字典:

var item = [
"itemName":"radio",
"description":"battery operated",
"qtyInStock":"12",
"countOfChildren":"5",
"isSerialized":"0"
]

键的排序顺序:

let sortOrder = [
"itemName",
"qtyInStock",
"countOfChildred",
"description",
"isSerialized"
]

我在 Playground 中尝试了以下操作:

var sortedItem = Dictionary<String, String>()

for i in sortOrder {
sortedItem[i] = item[i]
}

虽然在 Playground 中查看值历史记录以正确的顺序显示所有内容,但生成的字典的顺序看似随机。

最佳答案

正如 Tiago 所提到的,根据定义,Dictionary 没有顺序。它本质上是键到值的映射。我会推荐两种方法中的一种。

如果您希望实现的排序是手动的,就像您的问题看起来那样。我会创建一个数组来保存有序的键。然后,在您需要的任何时候,您可以循环遍历数组(这是有序的)并打印出字典中找到的所有值。它们自然会使用有序的键数组打印出来。

如果排序不是以编程方式完成的,您可以通过执行 myDictionary.keys.array 获取对所有键的引用。然后您可以对数组进行排序,然后再次遍历数组并从字典中获取值。

例子:

let myKeys = myDictionary.keys.array
// sort the keys
for key in myKeys {
println(myDictionary[key])
}

希望对您有所帮助。

关于arrays - 根据数组中的值按键对字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29199287/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com