Swift. Массивы. Базовые свойства и методы
From AsIsWiki
(Difference between revisions)
Line 1: | Line 1: | ||
<div style='max-width:700px;text-align:justify;'> | <div style='max-width:700px;text-align:justify;'> | ||
[[Swift. Массивы. Многомерные массивы|Назад]] · | [[Swift. Массивы. Многомерные массивы|Назад]] · | ||
− | [[Swift | + | [[Swift|Оглавление]] · |
[[Swift. Массивы. Срезы (ArraySlice)|Дальше]] | [[Swift. Массивы. Срезы (ArraySlice)|Дальше]] | ||
Line 158: | Line 158: | ||
---- | ---- | ||
[[Swift. Массивы. Многомерные массивы|Назад]] · | [[Swift. Массивы. Многомерные массивы|Назад]] · | ||
− | [[Swift | + | [[Swift|Оглавление]] · |
[[Swift. Массивы. Срезы (ArraySlice)|Дальше]] | [[Swift. Массивы. Срезы (ArraySlice)|Дальше]] | ||
</div> | </div> |
Latest revision as of 13:34, 19 March 2022
Назад · Оглавление · Дальше
[edit] Количество элементов массива
var m = [1, 2, 3, 4, 5] m.count // 5
[edit] Определение пустого массива
var m: [Int] = [] m.count // 0 m.isEmpty // true
[edit] Использование count для получения заданного диапазона значений
var m = [1, 2, 3, 4, 5] m[m.count-3 ... m.count-1] // [3, 4, 5]
[edit] Получение префикса и суффикса массива
var m = [1, 2, 3, 4, 5] m.prefix(3) // [1, 2, 3] m.suffix(3) // [3, 4, 5] // 3 - количество возвращаемых элементов
[edit] Первый и последний элементы массива
var m = [1, 2, 3, 4, 5] m.first // 1 m.last // 5
[edit] Добавление нового элемента в конец массива
var m = [1, 2, 3, 4, 5] m.append(9) // [1, 2, 3, 4, 5, 9] m // [1, 2, 3, 4, 5, 9]
[edit] Вставка в массив элемента по указанному индексу
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]
[edit] Удаление элемента из массива
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 возвращают удаляемый элемент
[edit] Удаление первых и последних элементов
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] // все методы возвращают измененный массив, исходный массив не меняется
[edit] Проверка наличия элемента в массиве
var m = [1, 2, 3, 4, 5] m.contains(3) // true m.contains(8) // false
[edit] Индекс первого вхождения элемента в массиве
let a = [1, 2, 3, 4, 5, 6, 7] a.firstIndex(of: 5) // 4 a.firstIndex(of: 9) // nil
[edit] Максимальный и минимальный элемент
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.
[edit] Реверс массива
var m = [1, 2, 3, 4, 5, 6, 7] m.reverse() m // [7, 6, 5, 4, 3, 2, 1] - исходный массив изменен
[edit] Сортировка массива
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] - исходный массив изменен
Назад · Оглавление · Дальше