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) // OK3. 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, +) // 159. 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 typelet- Immutable,var- Mutableappend(),insert()- Thêm phần tửremove(),removeLast()- Xóa phần tửmap,filter,reduce- Higher-order functionssort()vssorted()- In-place vs new array- Subscript
[index]để truy cập enumerated()để có index khi duyệt
Last updated on
Swift