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

时间:2016-12-22 11:35:01

标签: 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删除textarea中的重复行。

此代码效果很好,但它也会删除空行也是重复的。

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

1 个答案:

答案 0 :(得分:2)

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

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