Skip to Content

Mảng (Array) trong Swift

1. Tạo Array

// Array literal let numbers = [1, 2, 3, 4, 5] let fruits = ["Apple", "Banana", "Orange"] // Empty array var emptyArray: [Int] = [] var anotherArray = [String]() // Array với giá trị mặc định let zeros = Array(repeating: 0, count: 5) // [0, 0, 0, 0, 0]

2. Mutable vs Immutable

let immutableArray = [1, 2, 3] // immutableArray.append(4) // Error! var mutableArray = [1, 2, 3] mutableArray.append(4) // OK

3. Truy cập phần tử

let fruits = ["Apple", "Banana", "Orange"] print(fruits[0]) // Apple print(fruits[1]) // Banana print(fruits.first) // Optional("Apple") print(fruits.last) // Optional("Orange")

4. Thêm phần tử

var numbers = [1, 2, 3] numbers.append(4) // [1, 2, 3, 4] numbers.insert(0, at: 0) // [0, 1, 2, 3, 4] numbers += [5, 6] // [0, 1, 2, 3, 4, 5, 6]

5. Xóa phần tử

var numbers = [1, 2, 3, 4, 5] numbers.remove(at: 0) // [2, 3, 4, 5] numbers.removeLast() // [2, 3, 4] numbers.removeAll() // []

6. Thay đổi phần tử

var fruits = ["Apple", "Banana", "Orange"] fruits[1] = "Mango" print(fruits) // ["Apple", "Mango", "Orange"]

7. Duyệt Array

let fruits = ["Apple", "Banana", "Orange"] // For-in for fruit in fruits { print(fruit) } // Với index for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") }

8. Array Methods

let numbers = [1, 2, 3, 4, 5] print(numbers.count) // 5 print(numbers.isEmpty) // false print(numbers.contains(3)) // true let doubled = numbers.map { $0 * 2 } // [2, 4, 6, 8, 10] let evens = numbers.filter { $0 % 2 == 0 } // [2, 4] let sum = numbers.reduce(0, +) // 15

9. Slicing

let numbers = [1, 2, 3, 4, 5] let slice = numbers[1...3] // [2, 3, 4] let prefix = numbers.prefix(3) // [1, 2, 3] let suffix = numbers.suffix(2) // [4, 5]

10. Sorting

var numbers = [5, 2, 8, 1, 9] numbers.sort() // [1, 2, 5, 8, 9] (in-place) let sorted = numbers.sorted() // Trả về array mới // Sắp xếp giảm dần numbers.sort(by: >) // [9, 8, 5, 2, 1]

📝 Tóm tắt

  • [Type] - Array type
  • let - Immutable, var - Mutable
  • append(), insert() - Thêm phần tử
  • remove(), removeLast() - Xóa phần tử
  • map, filter, reduce - Higher-order functions
  • sort() vs sorted() - In-place vs new array
  • Subscript [index] để truy cập
  • enumerated() để có index khi duyệt
Last updated on