最初,我对一个Dictionary进行了排序,该字典返回一个键-值对数组,并试图将其转换为Dictionary,当我被告知字典的顺序是随机的,因此我所做的事情没有用。我试图将这个键值对数组变成仅包含键的数组,并且想知道如何做到这一点。这是我的代码:
let posts = ["post1" : 3, "post2" : 41, "post3" : 27]
let sortedPS = posts.sorted { $1.1 < $0.1 }
posts
是字典,而sortedPS
是Array<(key: String, value: Int)>
类型,据我所知,它是键值对数组/元组数组。 sortedPS
应该是一个如下所示的元组数组:
["post2" : 41, "post3" : 27, "post1" : 3]
我想要一个这样的数组:
["post2", "post3", "post1"]
请让我知道如何从sortedPS
中获取密钥并生成一个数组。
答案 0 :(得分:0)
您可以使用下面的短代码从字典中获取所有键。
let posts = ["post1" : 3, "post2" : 41, "post3" : 27]
let sortedPS = posts.sorted { $1.1 < $0.1 }
let keys = sortedPS.map { $0.key } // ["post2", "post3", "post1"]
答案 1 :(得分:0)
快捷方式:
template <class map_type>
void (const map_type & map) {
// use std::find or map.find here ???