Чтобы удалить повторяющиеся элементы из массива с помощью метода reduce(), вы можете выполнить следующие действия:
- Инициализировать пустой массив для хранения уникальных элементов.
- Используйте метод
reduce()для исходного массива. - В функции редуктора проверьте, существует ли текущий элемент в новом массиве.
- Если элемент не существует, добавьте его в новый массив.
- Наконец, верните новый массив с уникальными элементами.
Вот пример реализации:
const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = array.reduce((accumulator, currentValue) => {
if (!accumulator.includes(currentValue)) {
accumulator.push(currentValue);
}
return accumulator;
}, []);
console.log(uniqueArray);
Выход:
[1, 2, 3, 4, 5, 6]
Другие методы удаления дубликатов из массива включают использование Set, filter(), indexOf()и forEach( ).
Использование Set:
const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray);
Использование filter()и indexOf():
const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = array.filter((value, index, self) => self.indexOf(value) === index);
console.log(uniqueArray);
Использование forEach()и пустого объекта:
const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = [];
const obj = {};
array.forEach(item => {
if (!obj[item]) {
obj[item] = true;
uniqueArray.push(item);
}
});
console.log(uniqueArray);