Рубрики
Без рубрики

Удалить дубликаты массива в JavaScript

Три действительные способы удаления дубликатов массива в JavaScript

Автор оригинала: Sunny Edogbo.

Я работал над проектом, недавно потребляющим 3-й Party API, который вернул дубликаты в некоторых массивах, возвращаемых, и мне нужно было удалить дубликаты из них.

Я считал, что это разумеется, насколько я решил эту проблему, на случай, если кто-то другой встречается по этому вопросу.

Использование функции набора JavaScript

Установленный объект позволяет хранить уникальные значения любого типа, будь то примитивные значения или ссылки на объект Отказ

Все, что нам нужно сделать, это инициализировать новый набор и пропуск в требуемом массиве, нам нужно удалить дубликаты, как показано ниже.

const array = ["ade", "kemi", "bose", "esther", "felele", "ade"];

const uniqeSet = new Set(array);

/* this by default returns back an object of the unique value passed in the array    * above which we can spread in an array.
*/

// Set {"ade", "kemi", "bose", "esther", "felele"}

const arrayResponse = [...uniqeSet];

// ["ade", "kemi", "bose", "esther", "felele"]

В качестве альтернативы вы также можете использовать Array.from () для преобразования вашего объекта в массив.

Метод Array.from () создает новый, неглубокий скопированный экземпляр массива из массива или иерируемого объекта.

Использование функции фильтра JavaScript

Метод FILTER () создает массив, заполненный всеми элементами массива, которые проходят тест (предусмотрено как функция). Это означает, что после того, как набор условий будет включен, он будет включен в массив.

Фильтр также позволяет проходить в некоторых других параметрах, таких как параметр индекса, который возвращает положение элемента массива.

Например.

const arrays = ["ade", "kemi", "bose", "esther", "felele", "ade"];

const uniqueArray = arrays.filter(
  (array, index) => arrays.indexOf(array) === index
); 
// ["ade", "kemi", "bose", "esther", "felele"]

Использование функции javaScript

Этот подход требует, чтобы мы уменьшали элементы массива, затем добавляют результаты в конечный массив на основе прошедшей функции редуктора.

Например.

const arrayData = ["ade", "kemi", "bose", "esther", "felele", "ade"];

const arrResponse = arrayData.reduce((uniqeValue, item) => 

uniqeValue.includes(item) ? uniqeValue : [...uniqeValue, item], []);

console.log(arrResponse)
// ["ade", "kemi", "bose", "esther", "felele"]

И мы закончили. Надеюсь это поможет.