繁体   English   中英

SWIFT:如何使用For in Loop和字典中的字典进行打印

[英]SWIFT: how to print with a For in Loop with dictionary in dictionary

我想知道如何只打印名称,或者尽可能打印各种名称。 至此,我有一个简单的for Loop打印整个集合。

var players: [[String: Any]] = [

    ["Name": "Joe Smith",
     "Height": 42,
     "Experience": true,
     "Guardians": "Jime and Jan Smith",
     "Team": ""],

    ["Name": "Jill Tanner",
     "Height": 36,
     "Experience": true,
     "Guardians": "Clara Tanner",
     "Team": ""],

    ["Name": "Bill Bon",
     "Height": 43,
     "Experience": true,
     "Guardians": "Sara and Jenny Bon",
     "Team": ""],
]

for teamSelector in players {
    print(players)
}

迅捷3

对于打印值:

players.values.forEach { (value) in
            print(value)
        }

对于打印“名称”(称为“键”):

players.keys.forEach { (key) in
            print(key)
        }

您可以用其他样式编写如下:

for key in players.keys{
            print("The key is: \(key)")
            print("The value is: \(players[key])")
        }

您可以使用您的示例进行以下操作,但已进行了更新以获取名称:

for teamSelector in players {
    print(teamSelector["Name"])
}

您还可以使用map打印所有名称:

print(players.map { $0["Name"] })

另一种选择是循环播放每个播放器,并将名称转换为字符串,然后显示名称。 在这里使用flatMap确保所有名称都是字符串。

for name in players.flatMap({ $0["Name"] as? String }) {
    print(name)
}

这只会打印名称:

player.foreach(){print($ 0 [“ Name”])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM