在 Swift 中,如何检查数组的第一个元素是否等于值列表?
In Swift, How to check if the first element of an Array is equal to a list of values?
嗨,我是新手,我想检查数组的第一个元素是否等于值列表。例如检查字母列表 (chars) 是否以元音开头。
像这样:
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
}
任何时候你有很多东西,你想知道你的目标是否在其中,如果你使用 set.[=14=,搜索效率会高得多]
let lettersToLookFor = Set("AEIOU")
在这个例子中你也必须小心指定我们在这里谈论的是字符还是字符串。我选择让 lettersToLookFor
成为一组 个字符 。
现在这个问题很容易回答 contains
:
let listOfLetters : [Character] = ["A","C","D","E","L"]
let ok = lettersToLookFor.contains(listOfLetters[0]) // true
所以在回答和贡献之后感谢@matt @Starsky - 这是检查 Chars 数组的第一个字母是否为元音的示例的新版本:
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
嗨,我是新手,我想检查数组的第一个元素是否等于值列表。例如检查字母列表 (chars) 是否以元音开头。
像这样:
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
}
任何时候你有很多东西,你想知道你的目标是否在其中,如果你使用 set.[=14=,搜索效率会高得多]
let lettersToLookFor = Set("AEIOU")
在这个例子中你也必须小心指定我们在这里谈论的是字符还是字符串。我选择让 lettersToLookFor
成为一组 个字符 。
现在这个问题很容易回答 contains
:
let listOfLetters : [Character] = ["A","C","D","E","L"]
let ok = lettersToLookFor.contains(listOfLetters[0]) // true
所以在回答和贡献之后感谢@matt @Starsky - 这是检查 Chars 数组的第一个字母是否为元音的示例的新版本:
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