JavaScript 从 textarea 中删除重复行,但保留(忽略)空行

标签 javascript

我使用这段代码:

window.removeDuplicateLines = function() {
"use strict";
    var bodyText = $('#text-area').val().split('\n');
    var uniqueText = [];
    $.each(bodyText, function(i, el){
        if($.inArray(el, uniqueText) === -1) {
            uniqueText.push(el);
        }
    });

    document.getElementById('text-area').value = uniqueText.join('\n');
};

来自这里:Remove Duplicates from JavaScript Array从文本区域中删除重复的行。

此代码运行良好,但它也删除了重复的空行。

问题:如何使用这段代码删除重复行,但保留(忽略)空行?

最佳答案

您需要查看整行是否只有空格。为此,您可以 trim() 然后检查长度是否为 0。因此,将您的 if 检查更改为以下

   if($.inArray(el, uniqueText) === -1 || $.trim(el).length === 0) {
        uniqueText.push(el);
    }

关于JavaScript 从 textarea 中删除重复行,但保留(忽略)空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41282241/

相关文章:

javascript - 如何使用 Greasemonkey 从远程域获取 cookie?

javascript - Google Analytics hitCallback 超时

javascript - 在 javascript 中,如何在另一个原型(prototype)方法中调用一个原型(prototype)方法?

javascript - html2canvas.js 无法在 IE9/10/11 中工作

javascript - 我不明白为什么我必须以特定方式查询 MongoDB 集合(点与括号表示法)

javascript - 以 "type_error:SafeUrl"结尾的奇怪 HTTP 请求

javascript - 如何从链接(字符串)创建文档对象

javascript - dblClick() 不起作用

javascript - 如何在 React 中为状态变化的 span 元素设置动画?

javascript - 如何计算 Bootstrap 表格列中的所有值并显示在表格页脚中