我使用这段代码:
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/