Top.Mail.Ru
Ответы

Как из текстового файла удалить дубликаты строк и пробелы между строками? - JavaScript

Добрый день есть текстовый файл со строками
ваниль
ваниль
яблоко
яблоко
виноград
виноград
арахис

арахис

яблоки

яблоки

нужно оставить только одно значение в текущем файле (одну уникальную строку, а здесь по два дубликата), а также удалить пустые строки

Дополнен

на вход скрипта указываем путь к текстовому файлу.

По дате
По Рейтингу
Аватар пользователя
Новичок
7лет

Ну можно и так без заморочек...
Принципиально решил обойтись без создания массива...

pussy="ваниль\nваниль\nяблоко\nяблоко\n\n\nвиноград\nвиноград\nарахис\n\nарахис\n\nяблоки\nяблоки";
quim="";
console.info(pussy);
while(/\n\n/g.test(pussy)){pussy=pussy.replace(/\n\n/g,"\n");}
do {
dick=pussy.substring(0,pussy.indexOf("\n")+1);
pussy=pussy.replace(RegExp(dick,"gi"),"");
quim+=dick;
}while(dick);
console.info(quim);

Аватар пользователя
Искусственный Интеллект
7лет

let result = Array.from(new Set(txt.split('\n'))).filter(v => v !== '');
, где txt - строка содержащая текст из файла
_
Демо на jsbin.

Аватар пользователя
Ученик
7лет

Первое что пришло в голову, нужно каждую строку заносить в массив с проверкой наличия в массиве (обходя каждый раз все элементы массива) и не заносить пустые строки
перебор строк файла с таким условием
if(check_elem(arr,elem)){
if(elem!=''){
arr.push(elem);
}
}

function check_elem(arr,elem){
for (var i = 0; i < arr.length; i++) {
if (arr[i] == elem) {
return false;
}
}
return true;
}