Чтобы удалить дубли строк вставьте список (скопированный из блокнота, Excel и т.д.) в левое окно и нажмите «Удалить дубли«. Если необходимо, чтобы оригиналы дублей тоже были удалены — поставьте флажок «Удалять оригинал вместе с дублем«.
При удалении дубликатов строк также удаляются и пустые строки. Поэтому, если список не содержит дубли, но есть пустые строки, то данная функция сэкономит время на ручном труде.
#insertList, #result {background: #16181a;color: #d1d1d1;}
.string-del-form {display: -webkit-flex;display: -webkit-box;display: -moz-flex;display: -moz-box;display: -ms-flexbox;display: -ms-flex;display: -o-flex;display: flex;}
.check-del {margin-bottom: 1rem;}
#radio-orig-del {margin-right: 5px;}
#radio-orig-del + label {font-size: 13px;display: inline;}
.button-1, .button-2 {min-width:150px;font-size: 14px;font-weight: 500;}
.button-2 {background:var(–green-color);}
@media (max-width: 768px){.string-del-form {-webkit-box-orient: vertical;-webkit-box-direction: normal;-webkit-flex-direction: column;-ms-flex-direction: column;flex-direction: column;}}
// Функция удаления дублирующих строк
function deleteDubls(){
let arrInsertList = document.getElementById(‘insertList’).value.split(‘n’);
let arrOut = [];
/* Метод .filter создает новый массив и вызывает callback ф-ю для каждого элемента.
Элементы не прошедшие проверку, вылетают из созданного массива. */
arrOut = arrInsertList.filter(function(item, index) {
return arrInsertList.indexOf(item) === index;
});
document.getElementById(‘result’).value = arrOut.join(‘n’);
};
// Функция удаления дублирующих строк вместе с оригиналом
function deleteAllDubls(){
let arrInsertList = document.getElementById(‘insertList’).value.split(‘n’); // Массив обрабатываемых строк
let arrOut = []; // Массив обработанных строк на выходе
let arrDuplicates = []; // Массив дублей
// Собираем в arrDel все дублирующиеся элементы массива
for (let i = 0; i < arrInsertList.length; i++){
for (let j = i+1; j < arrInsertList.length; j++){
if (arrInsertList[i] == arrInsertList[j]){
arrDuplicates.push(arrInsertList[i]);
}
}
}
// Удаляем из списка arrInsertList дубликаты arrDuplicates
arrOut = arrInsertList.filter( function( item ) {
return arrDuplicates.indexOf( item ) < 0;
} );
document.getElementById('result').value = arrOut.join('n');
};
/* Функция проверяет чекбокс удаления с дубля оригиналом и
запускает соответствующую функцию */
function start(){
if (document.getElementById('radio-orig-del').checked){ // || false
deleteAllDubls();
} else {
deleteDubls();
}
};
// Функция сортировки
function sortResult(){
document.getElementById('result').value = document.getElementById('result').value.split('n').sort().join('n');
};
// Функция копирования результата в буфер обмена
function copyToClipboard(){
var copytext = document.createElement('textarea');
copytext.value = document.getElementById('result').value;
document.body.appendChild(copytext);
copytext.select();
document.execCommand('copy');
document.body.removeChild(copytext);
alert("Скопировано в буфер обмена!");
};