JavaScript | Как очистить массив от определённых повторяющихся элементов?

По сути нам нужно отфильтровать существующий массив по какому-либо условию.

Для примера возьмём такой массив:

var massiv = [1,"efim",1,1,"360",1,"ru",1]

Это смесь строковых и числовых данных.

Задача

Нам нужно убрать из этого массива все повторяющиеся элементы со значениями 1. Мы хотим удалить все элементы массива, которые содержат числовое значение 1.

Решение

В этом нам поможет метод filter() прототипов объекта Array. Метод filter() возвращает нам новый массив, не изменяя первоначальный массив. Поэтому мы можем объявить новую переменную и положить в неё итоговый отфильтрованный массив. Мы будем возвращать только те элементы массива, которые не равны (!=) единице (1).

var massivClear = massiv.filter(i => i != 1)

Вывод в консоли браузера:

Очищение массива от повторяющихся элементов
Очищение массива от повторяющихся элементов

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

Ссылки

JavaScript | Как получить все ссылки на HTML-странице?

JavaScript | Массивы (Array)

JavaScript | Объявление массива через квадратные скобки []

ECMAScriptLiving Standardhttps://tc39.es/ecma262/#sec-array-objects

ECMAScriptLiving Standardhttps://tc39.es/ecma262/#sec-array.prototype.filter

Свойства конструктора Array

Свойства объекта прототипа Array

 

Поделись записью