我正在学习迅速并试图理解词典.我已经习惯了
PHP,你可能会写下以下内容……
$dataPoints = Array("A"=>1,"B"=>2,"C"=>3); foreach($dataPoints as $value) { echo($value); }
在此示例中,值将按顺序输出 – 1,2,3
var dataPoints: Dictionary<String,Int> = ["A":1,"B":2,"C":3] for (key,value) in dataPoints { print(value) }
解决方法
正如已经回答的那样,字典的重点在于它没有排序. Swift(和Objective-C)中有三种类型的集合
数组是有序的项列表.当项目的顺序很重要时使用此选项.
字典是键和值的无序集合.如果要根据键有效地检索值,请使用此选项.
套装是一袋无序的独特物品.如果您想要一组没有特定顺序的唯一项目,请使用此选项.
对于您的情况,似乎排序对您来说很重要,但您希望存储某种值的值.也许您应该关注的是使用一组元组:
也许这样的事情
let dataPoints = [("A",1),("B",2),("C",3)] for (letter,number) in dataPoints { print("\(letter),\(number)") }
哪个输出
A,1 B,2 C,3
另外
如果您在创建之前不知道项目的顺序,但是基于键有自然顺序,您可以执行以下操作:
let dict = [ "A" : 1,"B" : 2,"C" : 3 ] for key in dict.keys.sort() { guard let value = dict[key] else { break } print("\(key),\(value)") }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。