Swift. Массивы. Базовые свойства и методы

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
 
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

Назад · Оглавление · Дальше


Contents

[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] - исходный массив изменен



Назад · Оглавление · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools