idsArr = [ ["id": "12345"], ["id": "27891"],["id": "98654"] ]
idsNameIntvalueArr = [["id": "22913", "name" : "Peter Parker", "value": 15], ["id": "12345", "name" : "Donald Duck", "value": 6], ["id": "98654", "name" : "Mickey Mouse", "value": 9], ["id": "112233", "name" : "Lion King", "value": 9]]我是Swift的新手,请给我建议,通过id比较这两个数组的最佳实践是什么,如果id匹配,如何获取包含字典的数组,结果如下:
resultArr = [["Donald Duck": 6],["Mickey Mouse": 9]] 或者,如果可能的话,最好是一本字典:
resultdict = ["Donald Duck": 6, "Mickey Mouse": 9]谢谢。
发布于 2017-07-17 22:59:14
Swift 3.x
let idsArr = [ ["id": "12345"], ["id": "27891"],["id": "98654"] ]
let idsNameIntvalueArr = [["id": "22913", "name" : "Peter Parker", "value": 15], ["id": "12345", "name" : "Donald Duck", "value": 6], ["id": "98654", "name" : "Mickey Mouse", "value": 9], ["id": "112233", "name" : "Lion King", "value": 9]]
var result = [String:Int]()
idsNameIntvalueArr.forEach({ name in
idsArr.forEach({
if name["id"] as? String == $0["id"] { result[name["name"] as! String ] = name["value"] as? Int }
})
})
print(result)将返回:
["Mickey Mouse": 9, "Donald Duck": 6]https://stackoverflow.com/questions/45146631
复制相似问题