Три полезных трюка с массивами в JavaScript
В этой статье мы рассмотрим три полезных трюка для работы с массивами, такие как удаление дубликатов, заполнение массива определенным значением и быстрое преобразование массива в объект.
Удаление дубликатов массива
Ниже приведен способ удаления дубликатов из массива:
const users = ['Владислав', 'Александр', 'Никита', 'Владислав', 'Александр', 'Дмитрий'];
const unique_users = [...new Set(users)]
console.log(unique_users) // ["Владислав", "Александр", "Никита", "Дмитрий"]
Данный код использует механизм Set
для удаления дубликатов из массива users
.
- Создается массив
users
, содержащий имена пользователей. - Затем, с помощью оператора расширения (
...
), создается новый массивunique_users
, в котором каждый элемент массиваusers
помещается в конструкторSet
. КонструкторSet
создает новый объект, который содержит только уникальные значения. - Из объекта
Set
создается массивunique_users
, который содержит только уникальные имена пользователей. - Наконец, результат выводится в консоль с помощью
console.log()
.
Результат выполнения кода будет массив unique_users
, в котором все повторяющиеся имена пользователей удалены, оставляя только уникальные имена.
Примечание: не будет работать, если в массиве содержится объект.
Быстрое преобразование массива в объект
Ниже приведен способ быстрого преобразования массива в объект:
const users = ['Владислав', 'Александр', 'Никита', 'Владислав', 'Александр', 'Дмитрий'];
const res = {...users};
console.log(res); // {0: "Владислав", 1: "Александр", 2: "Никита", ...}
Данный код создает новый объект res
, используя оператор расширения ({...}
), на основе массива users
.
- Исходный массив
users
содержит имена пользователей. - С помощью оператора расширения
{...}
, элементы массиваusers
копируются в новый объектres
. - Ключи объекта
res
автоматически генерируются в виде числовых индексов, начиная с 0 и увеличиваясь на единицу для каждого элемента массива. Значениями ключей становятся соответствующие элементы массиваusers
. - Результат выводится в консоль с помощью
console.log()
.
Результат выполнения кода будет объект res
, где каждый элемент массива users
становится свойством объекта с числовым ключом. Таким образом, объект res
имеет структуру, подобную массиву, но с числовыми ключами вместо индексов массива.
Быстрое заполнение массива определеннными данными
В примере ниже мы рассмотрим быстрое заполнение массива данными:
const user = new Array(5).fill('Юлия')
console.log(user) // ["Юлия", "Юлия", "Юлия", "Юлия", "Юлия"]
Данный код создает новый массив user
, используя конструктор Array
и метод fill()
.
- Конструктор
Array(5)
создает новый массив длиной 5 элементов, заполненный значениями по умолчанию (undefined
). - Метод
fill('Юлия')
применяется к созданному массивуuser
и заполняет каждый элемент массива значением'Юлия'
. - Результат выводится в консоль с помощью
console.log()
.
Результат выполнения кода будет массив user
, содержащий 5 элементов со значением 'Юлия'
. Таким образом, метод fill()
позволяет заполнить все элементы массива определенным значением.