Привет! Сегодня поговорим про метод Array.from, что это такое и как его можно использовать.
Array.from позволяет создавать массивы из: массивоподобных объектов (объектов со свойством length и элементами по индексным ключам) или итерируемых объектов (объектов, из которых вы можете достать их элементы, например Map или Set).
Давайте разберём различные варианты его использования 👇
👉 Создать массив из массивоподобных объектов
Например, можно написать функцию, которая принимает аргументы как элементы массива и возвращает массив.
Например, если вам нужно инициализировать массив нулями. Используя Array.from, вы можете сделать это быстро.
Для получения копии массива вы можете использовать не только
Для этого вам нужно использовать Array.from вместе с Set.
Полезная шпаргалка? Дайте нам знать своими 🔥 и 👍
#шпаргалка
Array.from позволяет создавать массивы из: массивоподобных объектов (объектов со свойством length и элементами по индексным ключам) или итерируемых объектов (объектов, из которых вы можете достать их элементы, например Map или Set).
Давайте разберём различные варианты его использования 👇
👉 Создать массив из массивоподобных объектов
Например, можно написать функцию, которая принимает аргументы как элементы массива и возвращает массив.
function createArray() {👉 Инициализировать массив
return Array.from(arguments);
}
createArray(1, 2, 3, 4, 5); // [1, 2, 3, 4, 5]
Например, если вам нужно инициализировать массив нулями. Используя Array.from, вы можете сделать это быстро.
Array.from({ length: 5 }, (x) => 0);👉 Клонировать массив
// [0, 0, 0, 0, 0]
Для получения копии массива вы можете использовать не только
slice
, но и Array.from
.const updatedGrades = [42, 98, 103, 18, 26, 37];👉 Поможет написать функцию для задания диапазона
const midtermGrades = Array.from (updatedGrades);
// [42, 98, 103, 18, 26, 37]
function range(start, stop, step) {👉 Или найти уникальные элементы массива
return Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));
}
console.log(range(0,5,1)) // [0, 1, 2, 3, 4, 5]
console.log(range(0,9,3)) // [0, 3, 6, 9]
Для этого вам нужно использовать Array.from вместе с Set.
Array.from(new Set([1, 2, 2, 3, 3, 3, 4, 4, 4,]));Про этот классный метод вы можете почитать на MDN
// [1, 2, 3 ,4]
Полезная шпаргалка? Дайте нам знать своими 🔥 и 👍
#шпаргалка