我想把字典转换成一个数组,方法是把字典的每个[String : Int]
显示为数组中的一个字符串。
例如:
var myDict: [String : Int] = ["attack" : 1, "defend" : 5, "block" : 12]
我知道myDict.keys.array
和myDict.values.array
,但是我希望它们一起出现在一个数组中,我的意思是:
var myDictConvertedToArray = ["attack 1", "defend 5", "block 12"]
5条答案
按热度按时间ukqbszuj1#
可以使用for循环迭代字典键/值对来构造数组:
在Swift 2及更高版本中,也可以使用
map
完成此操作:这也可以写成:
如果不那么短的话也会更清楚。
dauxcl2d2#
在Swift 3中,从字典的ONLY VALUES中创建数组的一般情况是(我假设它在旧版本的swift中也能工作):
示例:
uwopmtnx3#
如果您喜欢简洁的代码和函数式方法,可以使用在keys集合上执行的
map
方法:或者,如@vacawama所建议:
其功能等同
k4emjkb14#
使用Swift 5
wlp8pajw5#
您必须亲自检查并根据键和值构造一个新数组。
看一看's swift array documentation:
可以通过调用数组的append(_:)方法在数组末尾添加新项:
试试这个:
如果您使用的是Swift 2.0,请查看What's the cleanest way of applying map() to a dictionary in Swift?: