从数组中的字典数组中获取数据 [英] Getting data from array of dictionaries in an array
本文介绍了从数组中的字典数组中获取数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我创建了一个 Dictionaries
的 Array
:
I have created an Array
of Dictionaries
:
let tempArray = [["id":"1","Name":"ABC"],["id":"2","Name":"qwe"],["id":"3","Name":"rty"],["id":"4","Name":"uio"]]
现在我只需要创建一个 Name
数组.
Now I have to create an array of Name
only.
我所做的是:
var nameArray = [String]()
for dataDict in tempArray {
nameArray.append(dataDict["Name"]!)
}
但是有没有其他有效的方法可以做到这一点.
But is there any other efficient way of doing this.
推荐答案
你可以使用flatMap
(不是map
)来解决这个问题,因为flatMap
可以过滤掉 nil
值(当 dict 没有键 "Name" 的值时),即 names
数组将被定义为 [String]
而不是 [String?]
:
You can use flatMap
(not map
) for this, because flatMap
can filter out nil
values (case when dict doesn't have value for key "Name"), i.e. the names
array will be defined as [String]
instead of [String?]
:
let tempArray = [["id":"1","Name":"ABC"],["id":"2","Name":"qwe"],["id":"3","Name":"rty"],["id":"4","Name":"uio"]]
let names = tempArray.flatMap({ $0["Name"] })
print(names) // ["ABC", "qwe", "rty", "uio"]
这篇关于从数组中的字典数组中获取数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文