Как удалить дубликаты не зависимо от регистра букв?

Есть список [[LIST_WITH_FILE_CONTENT]] в котором нужно удалить дубли независимо от регистра букв. Список кстати содержит более 100 строк.

Пербором не получается, так как если вот так то долго:

Пример переменной со списком [[LIST_WITH_FILE_CONTENT]] :

When I consider every thing that grows
Holds in perfection but a little moment,
That this huge stage presenteth nought but shows
Whereon the stars in secret influence comment;
When I perceive that men as plants increase,
Cheered and cheque'd even by the self-same sky,
Vaunt in their youthful sap, at height decrease,
And wear their brave state out of memory

Подскажите, как удалить дубли предложений (целой строки) из списка [[LIST_WITH_FILE_CONTENT]] независимо от регистра букв?

Код почему-то удаляет лишние строки, не пойму где ошибка:

    const list = [[LIST_WITH_FILE_CONTENT]];

const uniqueList = list.filter((word, index) => {
  const regexp = new RegExp(word, 'i');
 
  for (let i = 0; i < list.length; ++i) {
    if (!regexp.test(list[i])) continue;
   
    if (i === index) return true;
     
    return false;
  }
});

[[LIST_WITH_FILE_CONTENT]]=uniqueList;

Ответы (1 шт):

Автор решения: EzioMercer

Понимаю, что на больших массивах это будет медленно работать, но можете пока что воспользоваться таким алгоритмом пока более опытные вам не подскажут решение получше ну или я сам не найду/придумаю что-то получше:

const list = ['BooK', 'bOOk', 'first', 'seCond', 'second'];

const uniqueList = list.filter((word, index) => {
  const regexp = new RegExp(word, 'i');
  
  for (let i = 0; i < list.length; ++i) {
    if (!regexp.test(list[i])) continue;
    
    if (i === index) return true;
      
    return false;
  }
});

console.log(uniqueList);

→ Ссылка