使Swift数组语句更简洁

时间:2016-03-17 12:07:45

标签: arrays swift

在编程时我是新手,刚开始学习Swift。对于我正在努力解决的以下阵列概念,我们将不胜感激。

如何缩短以下编码,以便减少If语句的数量。因此,当选择“battlename = name [0]”索引时,语句会自动选择相同索引级别的相应怪物,而不必使用如此多的If语句。

希望我有意义。

{{1}}

2 个答案:

答案 0 :(得分:7)

您可以使用以下单个条件替换所有条件:

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

此外,如果您想在简介中打印怪物名称列表,而不是仅打印数组,您可以将项目作为字符串加入,这是一个提示:

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

答案 1 :(得分:0)

    var names = ["Lancelot", "Arthur", "Gawain", "Galahad"]
    var monsters = ["Dragon", "Boar", "Giant", "Griffin"]
    let battlename = names[1]

    var index = names.indexOf(battlename)
    if index != nil
    {
        print(battlename, "Vs.", monsters[index!])
    }
    else
    {
        print("No match")
    }