Promise.all
позволяет запускать несколько промисов одновременно и получать их результаты, когда все промисы выполнены. Если один из промисов завершится с ошибкой, общий результат тоже будет отклонён.const promise1 = Promise.resolve(10);
const promise2 = Promise.resolve(20);
const promise3 = Promise.resolve(30);
Promise.all([promise1, promise2, promise3])
.then((results) => console.log(results)) // [10, 20, 30]
.catch((error) => console.error('Ошибка:', error));
CodeBase | Frontend | #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Map
в JavaScript и как он работает?Map
— это структура данных в JavaScript, которая хранит ключи и значения. В отличие от объектов, Map
позволяет использовать любые типы данных в качестве ключей и сохраняет порядок добавления элементов.// Создание Map
const map = new Map();
// Добавление ключей и значений
map.set('name', 'Alice');
map.set('age', 30);
map.set(1, 'Первый ключ');
// Получение значения по ключу
console.log(map.get('name')); // Alice
// Проверка наличия ключа
console.log(map.has('age')); // true
// Итерация по Map
map.forEach((value, key) => {
console.log(`${key}: ${value}`);
});
Map
используется для хранения данных с разными типами ключей. Это удобная альтернатива объектам для работы с ключами сложных типов.CodeBase | Frontend | #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Set
в JavaScript и как он работает?Set
— это встроенный объект JavaScript, который хранит уникальные значения любого типа. Он полезен для удаления дубликатов из массивов или проверки принадлежности элементов. const set = new Set([1, 2, 2, 3, 4]);
set.add(5); // Добавление элемента
console.log(set.has(3)); // true (проверка наличия)
set.delete(2); // Удаление элемента
console.log([...set]); // [1, 3, 4, 5] (преобразование в массив)
Set
хранит только уникальные значения и позволяет легко управлять коллекцией. Это полезно для оптимизации работы с массивами и устранения дублирования данных. CodeBase | Frontend | #js
Please open Telegram to view this post
VIEW IN TELEGRAM
WeakMap
— это коллекция для хранения пар ключ-значение, где ключами могут быть только объекты. В отличие от Map, WeakMap
позволяет сборщику мусора удалять записи, если на объект-ключ нет других ссылок.let obj = { name: 'Alice' };
const weakMap = new WeakMap();
weakMap.set(obj, 'Дополнительные данные');
console.log(weakMap.get(obj)); // 'Дополнительные данные'
obj = null; // Ключ становится недоступен, запись удаляется из WeakMap
WeakMap
хранит дополнительные данные для объекта obj. После обнуления ссылки obj
запись автоматически удаляется, освобождая память.CodeBase | Frontend | #js
Please open Telegram to view this post
VIEW IN TELEGRAM
filter()
в JavaScript и как он используется?filter()
— это метод массивов в JavaScript, который создаёт новый массив, содержащий только те элементы, которые удовлетворяют условию, заданному в функции обратного вызова.const numbers = [1, 2, 3, 4, 5, 6];
// Оставляем только чётные числа
const evenNumbers = numbers.filter(num => num % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]
filter()
возвращает новый массив, содержащий только чётные числа. Это полезно для фильтрации данных на основе определённых условий.CodeBase | Frontend | #js
Please open Telegram to view this post
VIEW IN TELEGRAM
reduce()
в JavaScript и как он используется?reduce()
— это метод массивов в JavaScript, который выполняет функцию-аккумулятор, последовательно обрабатывая каждый элемент массива и возвращая одно итоговое значение.const numbers = [1, 2, 3, 4, 5];
// Сумма всех чисел в массиве
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15
reduce()
суммирует все числа массива, начиная с начального значения 0
. Это полезно для вычислений, таких как сумма, произведение или объединение данных.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
reduceRight()
в JavaScript и как он используется?reduceRight()
— это метод массивов в JavaScript, который работает аналогично reduce
, но выполняет операцию справа налево.const numbers = [1, 2, 3, 4];
// Сложение чисел с обходом справа налево
const sum = numbers.reduceRight((acc, num) => acc + num, 0);
console.log(sum); // 10
reduceRight
суммирует элементы массива, начиная с последнего. Это полезно, когда порядок обработки элементов имеет значение.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
some()
в JavaScript и как он используется?some()
— это метод массивов в JavaScript, который проверяет, удовлетворяет ли хотя бы один элемент массива заданному условию. Он возвращает true
, если хотя бы один элемент прошёл проверку, иначе false
.const numbers = [1, 3, 5, 8];
// Проверяем, есть ли чётные числа
const hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // true
some()
возвращает true
, так как в массиве есть число 8
, которое является чётным. Это полезно для проверки условий без необходимости проходить весь массив.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
every()
в JavaScript и как он используется?every()
— это метод массивов в JavaScript, который проверяет, удовлетворяют ли все элементы массива заданному условию. Он возвращает true
, если все элементы проходят проверку, иначе false
.const numbers = [2, 4, 6, 8];
// Проверяем, все ли числа чётные
const allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // true
every()
возвращает true
, так как все числа в массиве чётные. Этот метод полезен, когда требуется убедиться, что все элементы массива соответствуют определённым критериям.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM
find()
в JavaScript и как он используется?find()
— это метод массивов в JavaScript, который возвращает первый элемент, удовлетворяющий заданному условию. Если ни один элемент не подходит, возвращается undefined
.const numbers = [3, 7, 10, 15];
// Ищем первое число больше 5
const result = numbers.find(num => num > 5);
console.log(result); // 7
find()
находит и возвращает 7
, так как это первое число, удовлетворяющее условию. Этот метод удобен, если нужен только первый подходящий элемент, а не все соответствующие значения.CodeBase | Frontend | #JS
Please open Telegram to view this post
VIEW IN TELEGRAM