2016-12-22 48 views
3

我用這個代碼:的JavaScript刪除textarea的重複行,但要保持(忽略)空行

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的刪除重複的線路。

此代碼工作良好,但它也刪除空行也作爲重複。

問題:如何刪除重複行,但保留(忽略)空行,與此代碼?

回答

2

您需要查看整行是否只有空格。要這樣做,您可以trim()然後檢查長度是否爲0。因此請將您的if支票更改爲以下號碼

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

謝謝!有用! – Misha

+0

@Misha很高興我能幫忙! –