有没有一种名为indexof或类似的方法?
var array = ["Jason", "Charles", "David"]
indexOf(array, "Jason") // Should return 0
Run Code Online (Sandbox Code Playgroud)
nat*_*han 58
编辑:从Swift 3.0开始,您应该使用该.index(where:)方法,并按照下面的Swift 2.0编辑中的更改进行操作.
编辑:从Swift 2.0开始,您应该使用该indexOf方法.它也返回nil或其参数的第一个索引.
if let i = array.indexOf("Jason") {
print("Jason is at index \(i)")
} else {
print("Jason isn't in the array")
}
Run Code Online (Sandbox Code Playgroud)
使用该find功能.它返回nil(如果未找到值)或数组中值的第一个索引.
if let i = find(array, "Jason") {
println("Jason is at index \(i)")
} else {
println("Jason isn't in the array")
}
Run Code Online (Sandbox Code Playgroud)
gre*_*ght 14
在Swift 2.0(Xcode 7.1b)中,您可以使用
if let result = array.indexOf("Jason")
Run Code Online (Sandbox Code Playgroud)
虽然find(array, "Jason")已被弃用.
我像上面一样创建了这个函数,但它返回了索引数组
extension Array {
func indexesOf<T : Equatable>(object:T) -> [Int] {
var result: [Int] = []
for (index,obj) in enumerate(self) {
if obj as T == object {
result.append(index)
}
}
return result
}
}
Run Code Online (Sandbox Code Playgroud)
也许它对你有用
| 归档时间: |
|
| 查看次数: |
65151 次 |
| 最近记录: |