Привет всем! Сегодня поговорим про два очень часто используемых метода массивов в JavaScript: forEach и map. Почему бы их не сравнить, чтобы вы точно знали, когда какой использовать? 🤔
forEach
Этот метод просто проходится по всем элементам массива и делает с ними что-то полезное. Но сам массив при этом не изменяет. Он просто как турист: прошёл, посмотрел, но ничего не тронул.
map
Этот метод похож на forEach, но с одним важным отличием: он создаёт новый массив на основе старого. Как будто клонирует массив, но при этом может что-то изменить в клонах.
Когда что использовать?
Используйте forEach, когда: вам нужно просто что-то сделать с каждым элементом массива, но не нужен новый массив.
Используйте map, когда: вы хотите получить новый массив на основе старого, например, удвоить каждый элемент.
#JavaScript #обучающийПост #Array #methods
forEach
Этот метод просто проходится по всем элементам массива и делает с ними что-то полезное. Но сам массив при этом не изменяет. Он просто как турист: прошёл, посмотрел, но ничего не тронул.
const numbers = [1, 2, 3];
numbers.forEach(num => {
console.log(num * 2);
});map
Этот метод похож на forEach, но с одним важным отличием: он создаёт новый массив на основе старого. Как будто клонирует массив, но при этом может что-то изменить в клонах.
const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2);Когда что использовать?
Используйте forEach, когда: вам нужно просто что-то сделать с каждым элементом массива, но не нужен новый массив.
Используйте map, когда: вы хотите получить новый массив на основе старого, например, удвоить каждый элемент.
#JavaScript #обучающийПост #Array #methods
👍6🔥1
Применение
Различие заключается в том, что map возвращает новый преобразованный массив, а forEach позволяет просто итерироваться по массиву и добавлять свою логику.
В примере мы решили одну и ту же задачу разными методами.
В данном случае map является предпочтительным.
#JavaScript #обучающийПост #Array #methods
Различие заключается в том, что map возвращает новый преобразованный массив, а forEach позволяет просто итерироваться по массиву и добавлять свою логику.
В примере мы решили одну и ту же задачу разными методами.
В данном случае map является предпочтительным.
#JavaScript #обучающийПост #Array #methods
👍7🔥3👌1
Мутирующие и не мутирующие методы массивов.
В JavaScript есть методы, которые изменяют исходный массив, и такие, что оставляют его в покое, создавая новый. Разберемся, в чем разница.
Мутирующие Методы
push - добавляет элементы в конец массива.
pop - удаляет последний элемент массива.
splice - удаляет, заменяет или добавляет элементы.
Не Мутирующие Методы
slice - возвращает новый массив, "нарезая" старый.
map - создает новый массив, преобразуя каждый элемент старого.
filter - создает новый массив с элементами, которые прошли проверку.
В чем разница?
Мутирующие методы изменяют исходный массив, а не мутирующие - не изменяют.
Хороший пример: slice и splice. Оба вырезают кусок массива, но splice изменит исходный массив, а slice оставит его нетронутым.
#обучающийПост #JavaScript #Array #methods
В JavaScript есть методы, которые изменяют исходный массив, и такие, что оставляют его в покое, создавая новый. Разберемся, в чем разница.
Мутирующие Методы
push - добавляет элементы в конец массива.
pop - удаляет последний элемент массива.
splice - удаляет, заменяет или добавляет элементы.
Не Мутирующие Методы
slice - возвращает новый массив, "нарезая" старый.
map - создает новый массив, преобразуя каждый элемент старого.
filter - создает новый массив с элементами, которые прошли проверку.
В чем разница?
Мутирующие методы изменяют исходный массив, а не мутирующие - не изменяют.
Хороший пример: slice и splice. Оба вырезают кусок массива, но splice изменит исходный массив, а slice оставит его нетронутым.
#обучающийПост #JavaScript #Array #methods
🔥6👍2
Когда массив приходит в функцию, лучше его не трогать. Вместо этого, создайте новый массив и вносите в него нужные изменения.
Это избавит вас от головной боли, если исходный массив используется ещё где-то в программе.
И вот это именно то, что называют иммутабельностью. Это не просто модное словечко, это хорошая практика. Функции, которые не меняют входные данные, называют чистыми. Они проще в отладке и тестировании.
Есть мутирующие методы
Раньше нам приходилось с помощью
Каждый раз, когда этот код выполняется, создаётся новый массив, что потребляет дополнительную память. К тому же, метод
Теперь мы можем использовать
#обучающийПост #JavaScript #Array #methods
Это избавит вас от головной боли, если исходный массив используется ещё где-то в программе.
И вот это именно то, что называют иммутабельностью. Это не просто модное словечко, это хорошая практика. Функции, которые не меняют входные данные, называют чистыми. Они проще в отладке и тестировании.
Есть мутирующие методы
sort(), reverse(), splice(), недавно были добавленны новые методы toSorted(), toReversed(), toSpliced(). Они как раз не мутируют массив, а создают новый.Раньше нам приходилось с помощью
... (spread operator) создавать новый массив.Каждый раз, когда этот код выполняется, создаётся новый массив, что потребляет дополнительную память. К тому же, метод
.sort() сам по себе тоже требует ресурсов для выполнения сортировки.const numbers = [3, 1, 4];
const sortedNumbers = [...numbers].sort();Теперь мы можем использовать
toSorted():const numbers = [3, 1, 4];
const sortedNumbers = numbers.toSorted();#обучающийПост #JavaScript #Array #methods
🔥4👍2
Новички часто делают так в React, забывают про иммутабельность. Может вызвать непредвиденные ошибки или поведение приложения.
Раньше делали так (spread оператор):
Теперь же можно делать так:
#code #JavaScript #Array #methods
Раньше делали так (spread оператор):
[...people].sort()Теперь же можно делать так:
people.toSorted()#code #JavaScript #Array #methods
👍7
Реализация метода filter()
Метод
#javascript #array #filter #methods
Метод
filter() создаёт новый массив со всеми элементами исходного массива, которые удовлетворяют условию, заданному в функции обратного вызова.#javascript #array #filter #methods
👍15❤3🤝2🔥1