Я покажу вам, как профессионал javascript будет дедуплицировать строку, сохраняя при этом удобочитаемость.

Недавно друг спросил меня, как удалить дубликаты из строки, сохранив исходный порядок строки. Полное раскрытие, здесь будет гольф. Держитесь за свои эллипсы, поехали…

Задача: Дедупликация этой строки

'red orange red yellow green blue yellow indigo violet red indigo orange green blue'

Решение 1. Спешите!

Одним из простых способов может быть использование хеша и удаление дубликатов, сохраняя порядок, в котором они были:

Решение 2. Наборы спешат на помощь!

Наборы — очевидное решение проблемы, поскольку они представляют собой набор неповторяющихся элементов. От MDN:

Set объекты представляют собой наборы значений. Вы можете перебирать элементы набора в порядке вставки. Значение в Set может встречаться только один раз; он уникален в коллекции Set.