【问题标题】:In Swift, How to check if the first element of an Array is equal to a list of values?在 Swift 中,如何检查数组的第一个元素是否等于值列表?
【发布时间】:2021-02-07 14:24:00
【问题描述】:

您好,我是这里的新手,我想检查 Array 的第一个元素是否等于值列表。例如,检查字母(字符)列表是否以元音开头。

类似这样的:

var listOfLetters = ["A","C","D","E","L"]
func firstItemIsVowel ( listOfLetters: [String] ) -> Boolean {
   if listOfLetters.first == ("A" or "E" or "I" or "O" or "U") {
   } Return True
} 

【问题讨论】:

  • 使用return listOfStrings.contains(listOfLetters.first),但首先打开可选的listOfLetters.first
  • 完美!非常感谢@Starsky!我的想法正好相反
  • 请不要将解决方案编辑到问题中,而是添加答案。

标签: arrays swift swift5


【解决方案1】:

任何时候你有很多东西并且你想知道你的目标是否在其中,如果你使用 set,搜索效率会高得多。

let lettersToLookFor = Set("AEIOU")

您还必须在 this 示例中小心指定我们在这里讨论的是 characters 还是 strings。我选择让lettersToLookFor 成为一组字符

现在这个问题很容易用contains回答:

let listOfLetters : [Character] = ["A","C","D","E","L"]
let ok = lettersToLookFor.contains(listOfLetters[0]) // true

【讨论】:

  • @LeoDabus 当然会。 OP 没有说明任何相关内容。我们不知道目标是什么;一个人只能按照我们被告知的去做。我回答了关于“列表中”的部分,不再赘述。
  • 抱歉没有详细说明。字母和元音列表只是一个例子。我想要做的是将数组的第一个元素与上面答案中提出的集合进行比较。我想检查数组的第一项是否对应于列表的任何元素。谢谢你的回答,它工作得很好!
  • 我将标题更改为更通用的“值列表”
  • @LeoDabus 澄清一下,我已经从我的回答中删除了“元音”一词。
【解决方案2】:

所以在回答和贡献之后感谢@matt @Starsky - 这是检查字符数组的第一个字母是否是元音的示例的新版本:

let vowelsSet =  Set("aeiou")
// let vowelArray = ["a","e","i","o","u"] // if you wish to use an array instead
var arrayOfRandomLetters : [Character] = ["o","c","d","e","l"]

func firstCharacterIsAVowel (_ arrayOfLetters: [Character]) -> Bool {
  if vowelsSet.contains(arrayOfRandomLetters.first!){
    return true
  } else { return false }
}
print(firstCharacterIsAVowel(arrayOfRandomLetters)) // true

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 1970-01-01
    • 2017-08-17
    相关资源
    最近更新 更多