arrays - 使 Swift 数组语句更简洁

标签 arrays swift

我是编程新手,刚开始学习 Swift。对于我正在尝试解决的以下数组概念,您的帮助将不胜感激。

如何缩短下面的代码,以便减少 If 语句的数量。 So when a "battlename = name[0]"index is selected the statement automatically selects the corresponding monsters at the same index level without having to use so many If statements.

希望我说的有道理。

var names = ["Lancelot", "Arthur", "Gawain", "Galahad"]
var monsters = ["Dragon", "Boar", "Giant", "Griffin"]
let battlename = names[1]
print(battlename, "Vs.", monsters)

if battlename == names[0] {
print(battlename, "Vs.", monsters[0])
}
else if battlename == names[1] {
print(battlename, "Vs.", monsters[1])
}
else if battlename == names[2] {
print(battlename, "Vs.", monsters[2])
}
else if battlename == names[3] {
print(battlename, "Vs.", monsters[3])
}

最佳答案

您可以用这个条件替换所有条件:

if let index = names.indexOf(battlename) {
    print(battlename, "Vs.", monsters[index])
}

还有一个提示,如果你想在你的介绍中打印怪物名称列表,而不是仅仅打印数组,你可以将项目作为字符串连接:

print(battlename, "Vs.", monsters.joinWithSeparator(", ")) // "Arthur Vs. Dragon, Boar, Giant, Griffin"

关于arrays - 使 Swift 数组语句更简洁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36060124/

相关文章:

swift - 在 Swift 中将文本附加到文档文件

ios - Google map (GMS View )不会在 iOS 中显示

java - 我不确定如何使这个堆栈实现动态化

ios - UIColor 不适用于 RGBA 值

arrays - 从元组数组中删除元组

javascript - JS 如果有两个以上重复项,则查找数组中重复值的索引

ios - 没有得到 iPhone 屏幕边界的正确高度

ios - UITableview 没有从 super View 中删除

java - 打印数组/反转数组

javascript - 通过在 javascript 中使用 RegExp 包含标签来过滤用户列表数组