JavaScript как удалить из массива повторяющиеся элементы? js удалить в массиве дубликаты

Автор Maksim Inshakov
JavaScript как удалить из массива повторяющиеся элементы? js удалить в массиве дубликаты

Всем привет.

Сегодня у нас с вами будет работа с массивом — это с одной стороны очередной каждый с другой стороны — это очередная особенности языка Java скрипт позволяет вам очень быстро и просто удалять дубликаты из массива против для начала пишем функцию. Ну например я назову её фильтр — это у нас будет функцию. Только с маленькой всё уже буквы и — это функция у нас с вами будет выполнять обработку.

Давай ты сейчас запишем массив и так мы писали тест твой массив в принципе он достаточно простой и взглядом вы уже можете определить какие элементы здесь повторяющиеся которые должны остаться только одни.

Так здесь мы с вами выведены console.log 1. кто может видеть консоль на нас не реагирует. Выведи на жилмассив вот он он у нас нет фильтрованный давайте мы с вами здесь напишем вот так так. Вот так вот фильтр от нас появилась андифай здесь в качестве аргумента пускай будет какой-то массив. И на выходе нам будет возвращаться какой-то массив пока у него никакой обработки нет ничего не происходит первое, что нам нужно — это с вами определить новый массив того чтобы сделать вот — это вот самую волосами перебор массива с удалением повторяющихся элементов. Ну например. Давайте именные New App и она нас будет равняться просто массива. Возвращается на тоже будем него об этом случае мы будем видеть пуст потому, что в результате обработки у нас ничего не происходит собственно, что нам нужно для этого исправить внести эту самую обработку обработку массив есть возможность первым способом — это обыкновенный цикл то есть. Цветков у которого у нас будет проходить по массиву первое, что нужно сделать — это сами объявить переменную и — это у нас тут самый великий счётчик для ускорения прохождения цикл по массиву и для уменьшения операции сверок. Нам необходимо сделать такую вот простой хитрость. Объявлен в нашу длину массива -1 в переменную и теперь в цикле for нам нужно просто написать пропускаем вообще объявление переменной затем и больше либо равно 0. Почему и больше либо равно надо потому, что у нас будет идти перевод нашу массива задом наперёд здесь просто и уменьшением собственно, что у нас сейчас происходит. Мы объявили здесь перемена и которая является у нас ещё. и также хранит в себе длину массива -1 потому, что индекс у нас в индексация массива начинается с нуля и соответственно первый элемент — это 0 до последней — это длина массива -17 затем определились далее мы с. Вами просто проверяем либо равно и нулем. Если да то продолжаем идти по массиву здесь можно написать. Вот так New App Push и наш текущий элемент массива с армии в нашем случае мы сейчас видим массив, но правда у нас инвертировать сигнал на самом деле — это роли никакой не играет чтобы нам сделать теперь проверку можно сделать следующие я не буду показывать неправильный способ мы уйдём сейчас вот этого фильтра точнее вот этого цикла и сразу перейдем к правильному способом. И так во-первых объём здесь объект. Ну например. Объект который будет называться тнп. Почему я объявляю вообще здесь объект потому, что в джаваскрипте очень быстро операция вхождения свойство в. Объект который называется. ИНН — это самая быстрая команда для того чтобы узнать есть ли свойство в объекте чем этот метод хорош делал то, что таким способом. Мы можем с вами проверять. Как красиво так и значение так всякие свойства объектов если в нашем массиве сохранение объектами то есть, а здесь мы сегодня просто сделаем такую проверку если наш наша значение массива то есть рыбы здесь указываем тнп если она у нас есть то мы просто продолжаем движение по следующему элементу соответственно здесь мы заполняли наш объекта есть добавили его в новый массив. После чего мы с вами объекты темпы добавляем — это свойство всех кормить просто единичку теперь как вы можете видеть у нас с вами получился новый массив матирующий который хранит в себе только 3 элемента и они у нас не повторяются. Да и в принципе любые элементы — это издевательство. Давай сделаем так как может видеть при любом количестве повторяющихся элементов и они у нас могут повторяться то есть вообще в любой последовательности,. Как вы можете видеть всё равно у нас не повторяющиеся элементы замечательно, но можно сделать ещё проще сейчас у всех массивов в современном джаваскрипте конечно же есть такая замечать особенность как встроенные методы то есть насколько я знаю object Prototype имеет метод Filter если я не ошибаюсь мы можем сделать всё чуточку проще то есть не. ЮА не нужно возвращать мы будем результат операции здесь просто указываем, а то кстати вот — это вам тоже смотрите не нужна то есть. Обратите внимание как сильно упрощает. Наш кот ест сахар. фильтр здесь мы принимаем callback то есть функция функция которая у нас в свою очередь также принимает какой-то. Ну на самом деле этот объект текущий элемент массива поэтому мы здесь можно просто написать. Ну например, а первая буква о названии массива. Замечательно Что здесь с вами внутри этого барабанщика должны делать на самом деле он разрешает на зависимости от определенных условий единиц он либо 0 если он защищает единица значит объект необходимо оставить миссия если он возвращает 0 значит объект нам в результирующем массиве не нужен.

0 комментариев
0

Читайте также