Как удалить дубликаты не зависимо от регистра букв?
Есть список [[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);