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 157: Line 157:
  
 
----
 
----
[[Swift. Массивы. Многомерные массивы|Назад]] ·
+
[[Swift. Массивы. Многомерные массивы|Назад]] ·
 
[[Swift. Массивы|Оглавление]] ·
 
[[Swift. Массивы|Оглавление]] ·
 
[[Swift. Массивы. Срезы (ArraySlice)|Дальше]]
 
[[Swift. Массивы. Срезы (ArraySlice)|Дальше]]
 
</div>
 
</div>

Revision as of 17:24, 4 November 2021

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


Contents

Количество элементов массива

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



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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools