Рубрики
Без рубрики

JavaScript – удалить дублированные линии

Привет! 👋 😊 В этой статье я хотел бы показать вам два способа удалить дублирующиеся линии из … Tagged with JavaScript, WebDev, учебник, программирование.

Привет! 👋 😊

В этой статье я хотел бы показать вам два способа удалить дублирующиеся строки из некоторого текста в JavaScript. 🔠

Прежде чем мы начнем , Я очень рекомендую вам проверить Запускаемые примеры Для решения на нашем сайте: JavaScript – удалить дублированные линии

Мы будем использовать два метода:

  • фильтр()
  • уменьшать()

Пример на основе Filter ()

Этот подход использует функциональный шаблон программирования.

В тексте, который я использовал набор операций для удаления дублированных линий:

  • split () Метод разделения текста на строки, которые принимают символ новой линии в 4 различных вариантах, который является универсальным подходом,
  • Filter () метод, который создает новый массив элементов, протестированных с помощью предоставленной функции,
  • join () Метод, чтобы объединить элементы обратно.

Практический пример:

const newLineExpression = /\r\n|\n\r|\n|\r/g;

const removeDuplicatedLines = (text) => {
    return text.split(newLineExpression)
        .filter((item, index, array) => array.indexOf(item) === index)
        .join('\n');
};

// Usage example:

const text = `a
b
b
a
a
c
c`;

console.log(removeDuplicatedLines(text)); // a
                                          // b
                                          // c

Вы можете запустить этот пример здесь

пример на основе () на основе ()

Этот подход был создан, чтобы показать, что можно получить тот же эффект, что и в примере выше, с уменьшить () метод

Практический пример:

const newLineExpression = /\r\n|\n\r|\n|\r/g;

const removeDuplicatedLines = (text) => {
    const blocker = {}; // prevents lines dupplication
    return text.split(newLineExpression)
        .reduce((result, line) => {
            if (blocker.hasOwnProperty(line)) {
                return result;
            }
            blocker[line] = true;
            return result + line + '\n';
        }, '');
};

// Usage example:

const text = `a
b
b
a
a
c
c`;

console.log(removeDuplicatedLines(text)); // a
                                          // b
                                          // c

Вы можете запустить этот пример здесь

Если вы нашли это решение полезным, вы можете отреагировать на этот пост или просто оставить комментарий, чтобы сообщить мне, что вы думаете. Спасибо за чтение и увидимся в следующий раз! 😊

Напишите нам! ✉

Если у вас есть какие -либо проблемы, чтобы решить или вопросы, на которые никто не может ответить, связанный с темой React или JavaScript, или вы ищете наставничество, напишите нам на Dirask.com -> Вопросы

Оригинал: “https://dev.to/diraskjavascript/javascript-remove-duplicated-lines-2i9e”