Menu
CoddyTech

数组切片(第 2 部分)

本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 74 课,共 86 课。

Swift 提供了方便的简写语法,可以从数组的开头切片,也可以切片到数组末尾。不必明确指定 0 或最后一个索引,你可以将范围的一端留空。

要从数组开头切片到指定索引,请省略起始值:

let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree)  // [10, 20, 30]

同样,要从特定索引切片到末尾,可以省略结束值:

let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2)  // [30, 40, 50]

你也可以使用闭区间版本,将指定的结束索引包含在内:

let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3)  // ["a", "b", "c", "d"]

当你需要前几个元素或某个位置之后的所有元素时,这些单边范围能让代码更简洁。记住,如果你需要普通数组而不是 ArraySlice,就要用 Array() 包装结果。

challenge icon

挑战

简单
编写一个函数 splitArray,接收 numbers 和 index,并返回从给定索引到数组末尾的所有元素。

使用单侧范围运算符(...)从指定索引切片到末尾,并将结果作为常规数组返回。

参数:

  • numbers([Int]):要切片的数组
  • index(Int):起始索引(包含该索引)

返回值:一个包含从给定索引到数组末尾所有元素的数组([Int])

示例:如果 numbers 是 [5, 10, 15, 20, 25, 30],且 index 是 3,函数应返回 [20, 25, 30]。

亲手试试

func splitArray(numbers: [Int], index: Int) -> [Int] {
    // 在这里编写代码
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Swift 在线编辑器