对于循环,在开始时为每个循环追加,而不是在迭代中只追加一次



我正试图将键/值分别附加到一些数组中一次。因此,我的结果应该是数组中每个键/值对的奇异出现。然而,在每次迭代之后,添加键/值对,然后迭代重新开始,每次都再次添加键/价值对。

如何使它只对每个键/值对附加一次?

import UIKit
import PlaygroundSupport
var usernameScoreDict : [String:String] = ["erer":"eree", "veev":"veve", "tbtt":"bttbt", "umum":"muumu", "bvbv":"bbbcb"]
var unArray = [String]()
var hsArray = [String]()
class MyViewController : UIViewController {
override func loadView() {
let view = UIView()
view.backgroundColor = .white
usernameScoreDict.forEach { (key,value) in
print("key is - (key) and value is - (value)")
unArray.append(key)
hsArray.append(value)
}
}
}

您可以使用这样的for循环:-

for (key, val) in usernameScoreDict{
unArray.append(key)
hsArray.append(value)
}

之后,您可以使用set:-删除重复值(因为我不认为会发生这种情况(

unArray = (Array(Set(unArray)))
hsArray = (Array(Set(hsArray)))

您可以直接从字典创建键和值的数组

let keysArray = [String](usernameScoreDict.keys)
let valuessArray = [String](usernameScoreDict.values)

最新更新