👨🏼💻 Приветствую!
🗄Навигация по каналу Swift Notes
Для поиска материала вам следует указать поисковое слово через хештег
🔹 Swift начальный уровень
#variables
#switch
#conditionals
#loops
#array
#set
#dictionaries
#functions
#structures
#classes
#operators
#forin
🔹 Swift средний уровень
#enumerations
#optionals
#closures
#properties
#protocols
#generics
#ViewController
Грокаем алгоритмы\\ Адитья Бхаргава.
#бинарный поиск
P.S.
онлайн компилятор online.swiftplayground.run/
Рад любой обратной связи, поэтому пишите ваши пожелания, замечания ➡️ @clockber
🗄Навигация по каналу Swift Notes
Для поиска материала вам следует указать поисковое слово через хештег
🔹 Swift начальный уровень
#variables
#switch
#conditionals
#loops
#array
#set
#dictionaries
#functions
#structures
#classes
#operators
#forin
🔹 Swift средний уровень
#enumerations
#optionals
#closures
#properties
#protocols
#generics
#ViewController
Грокаем алгоритмы\\ Адитья Бхаргава.
#бинарный поиск
P.S.
онлайн компилятор online.swiftplayground.run/
Рад любой обратной связи, поэтому пишите ваши пожелания, замечания ➡️ @clockber
online.swiftplayground.run
Online Swift Playground
Self hosted and embeddable Swift Playground solution with a third-party module support baked in.
Функции высшего порядка (Higher-Order functions) #functions
🔹 определяются как функции, принимающие другую функцию как аргумент или возвращающие функцию.
🔹 их много: map , filter , reduce , forEach , flatMap , compactMap ,sorted и т.д. Наиболее распространенными примерами функций высшего порядка являются функции map , filter и reduce.
🔹 определяются как функции, принимающие другую функцию как аргумент или возвращающие функцию.
🔹 их много: map , filter , reduce , forEach , flatMap , compactMap ,sorted и т.д. Наиболее распространенными примерами функций высшего порядка являются функции map , filter и reduce.
Функции высшего порядка (Higher-Order functions) #functions
map, reduce, sorted, filter
🔹 Map: для преобразования содержимого массивов, map(_:)
//пример
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
func timesTen(_ x:Int) -> Int {
return x * 10
}
let result = numbers.map (timesTen)
print(numbers) //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(result) //[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
🔹 Reduce: перебирает каждый элемент в коллекции и сводит их к одному значению, reduce (_:, _:)
//пример
let values = [3, 4, 5]
let sum = values.reduce(0, +)
print(sum)
//вывод: 12
🔹Sorted: сортировка массивов, основана на заданном вами замыкании, sorted(by:)
//пример (сортировка по алфавиту)
let avatarMovie = Movie(name: "Avatar")
let titanicMovie = Movie(name: "Titanic")
let piranhaMovie = Movie(name: "Piranha II: The Spawning")
let movies = [avatarMovie, titanicMovie, piranhaMovie]
let sortedMovies = movies.sorted(by: { $0 < $1 })
print(sortedMovies)
// вывод: [Avatar, Piranha II: The Spawning, Titanic]
🔹Filter: преобразует массив в соответствии с заданным условием, filter (_:)
//пример
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let filted = numbers.filter{$0 % 2 == 0}
//[2, 4, 6, 8, 10]
map, reduce, sorted, filter
🔹 Map: для преобразования содержимого массивов, map(_:)
//пример
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
func timesTen(_ x:Int) -> Int {
return x * 10
}
let result = numbers.map (timesTen)
print(numbers) //[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(result) //[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
🔹 Reduce: перебирает каждый элемент в коллекции и сводит их к одному значению, reduce (_:, _:)
//пример
let values = [3, 4, 5]
let sum = values.reduce(0, +)
print(sum)
//вывод: 12
🔹Sorted: сортировка массивов, основана на заданном вами замыкании, sorted(by:)
//пример (сортировка по алфавиту)
let avatarMovie = Movie(name: "Avatar")
let titanicMovie = Movie(name: "Titanic")
let piranhaMovie = Movie(name: "Piranha II: The Spawning")
let movies = [avatarMovie, titanicMovie, piranhaMovie]
let sortedMovies = movies.sorted(by: { $0 < $1 })
print(sortedMovies)
// вывод: [Avatar, Piranha II: The Spawning, Titanic]
🔹Filter: преобразует массив в соответствии с заданным условием, filter (_:)
//пример
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
let filted = numbers.filter{$0 % 2 == 0}
//[2, 4, 6, 8, 10]