Swift. Массивы. Базовые свойства и методы
From AsIsWiki
Назад · Оглавление · Дальше
Количество элементов массива
var m = [1, 2, 3, 4, 5] m.count // 5
Определение пустого массива
var m: [Int] = [] m.count // 0 m.isEmpty // true
Использование count для получения заданного диапазона значений
var m = [1, 2, 3, 4, 5] m[m.count-3 ... m.count-1] // [3, 4, 5]
Получение префикса и суффикса массива
var m = [1, 2, 3, 4, 5] m.prefix(3) // [1, 2, 3] m.suffix(3) // [3, 4, 5] // 3 - количество возвращаемых элементов
Первый и последний элементы массива
var m = [1, 2, 3, 4, 5] m.first // 1 m.last // 5
Добавление нового элемента в конец массива
var m = [1, 2, 3, 4, 5] m.append(9) // [1, 2, 3, 4, 5, 9] m // [1, 2, 3, 4, 5, 9]
Вставка в массив элемента по указанному индексу
var m = [1, 2, 3, 4, 5] m.insert(100, at: 2) // [1, 2, 100, 3, 4, 5] m // [1, 2, 100, 3, 4, 5]
Удаление элемента из массива
var m = [1, 2, 3, 4, 5, 6, 7] m.remove(at: 5) // 6 m.removeFirst() // 1 m.removeLast() // 7 m // [2, 3, 4, 5] // все методы remove возвращают удаляемый элемент
Удаление первых и последних элементов
var m = [1, 2, 3, 4, 5, 6, 7] m.dropFirst() // [2, 3, 4, 5, 6, 7] m.dropLast() // [1, 2, 3, 4, 5, 6] m.dropFirst(2) // [3, 4, 5, 6, 7] m.dropLast(2) // [1, 2, 3, 4, 5] m // [1, 2, 3, 4, 5, 6, 7] // все методы возвращают измененный массив, исходный массив не меняется
Проверка наличия элемента в массиве
var m = [1, 2, 3, 4, 5] m.contains(3) // true m.contains(8) // false
Индекс первого вхождения элемента в массиве
let a = [1, 2, 3, 4, 5, 6, 7] a.firstIndex(of: 5) // 4 a.firstIndex(of: 9) // nil
Максимальный и минимальный элемент
var m = [11, 5, 23, 3, 55, 16, 27] m.max() // 55 m.min() // 3 // методы работают только для Comparable элементов
Для сравнения значений используется хэширование.
Большинство фундаментальных типов данных поддерживают хеширование.
Хэш значения вычисляется по специальному алгоритму, и помещается в свойство hashValue:
var a: Float = 3.5 a.hashValue // 1 396 494 304 867 736 370
Хэширование обеспечивается протоколом Hashable.
Реверс массива
var m = [1, 2, 3, 4, 5, 6, 7] m.reverse() m // [7, 6, 5, 4, 3, 2, 1] - исходный массив изменен
Сортировка массива
var m = [11, 5, 23, 3, 55, 16, 27] m.sorted() // [3, 5, 11, 16, 23, 27, 55] m // [11, 5, 23, 3, 55, 16, 27] - исходный массив не меняется m.sort() // [3, 5, 11, 16, 23, 27, 55] m // [3, 5, 11, 16, 23, 27, 55] - исходный массив изменен
Назад · Оглавление · Дальше