所以,如果我有一个看起来像这样的数组:
var myArray = ["BMW", "Toyota", "Ford", "Lamborghini", "Ferrari", "Lada"]
我想在"福特"之后显示数组内的值,所以宝马,丰田和福特都没有出现......我怎么能这样做?
答案 0 :(得分:3)
使用Swift切片,例如:
myArray[3...myArray.count - 1]
输出
["Lamborghini", "Ferrari", "Lada"]
如果您不知道Ford
元素的索引,请使用indexOf
方法找到它:
if let index = myArray.indexOf("Ford") {
let startIndex = index + 1
let endIndex = myArray.count - 1
let slice = myArray[startIndex...endIndex]
let array = Array(slice)
print(array) // prints ["Lamborghini", "Ferrari", "Lada"]
}
正如@leo Dabus所指出的,从数组中获取所需部分的一种更简单的方法是使用suffixFrom
方法:
if let index = myArray.indexOf("Ford") {
let slice = myArray.suffixFrom(index.successor())
let array = Array(slice)
print(array) // prints ["Lamborghini", "Ferrari", "Lada"]
}
答案 1 :(得分:1)
Swift 3
您可以使用dropFirst
,它返回没有前N项的子阵列:
let myArray = ["BMW", "Toyota", "Ford", "Lamborghini", "Ferrari", "Lada"]
let subArray = Array(myArray.dropFirst(3)) // ["Lamborghini", "Ferrari", "Lada"]
还有indexOf
找到第一个项目,然后从索引中获取子数组:
if let index = myArray.index(of: "Ford") {
let subArray = Array(myArray.dropFirst(index.advanced(by: 1))) // ["Lamborghini", "Ferrari", "Lada"]
}