我删除了10K关键字列表,我想删除包含2个或更多重复关键字的行。
示例关键字:
abc electronics address
abc electronics sales
abc electronics black friday
electronics ps4
electronics ps3
它应该是这样的:
abc electronics address
electronics ps4
electronics ps3
我想用javascript做这个,但我真的不知道该如何解决这个问题,你能帮我解决一下这个问题!这就是我所想的我可以以某种方式使用删除方法,但就我而言,我不知道该怎么做。
var saveKeywords;
saveKeywords = "CODE:";
saveKeywords += "TAG POS=1 TYPE=TEXTAREA ATTR=NAME:comment EXTRACT=TXT" + "\n";
var saveKeywords = iimGetLastExtract();
var removeDuplicates = saveKeywords.remove(duplicateKeywords);
答案 0 :(得分:1)
你必须从列表中获取每一行并拆分字符串,获取数组,过滤它以删除重复的项目,然后将它们连接起来。
var uniqueList=string.split(' ').filter(function(item,i,allItems){
return i==allItems.indexOf(item);
}).join(',');
$('#output').append(uniqueList);
对于不支持的浏览器,您可以通过在js中添加它来解决它。
if (!Array.prototype.filter)
{
Array.prototype.filter = function(fun /*, thisp*/)
{
"use strict";
if (this == null)
throw new TypeError();
var t = Object(this);
var len = t.length >>> 0;
if (typeof fun != "function")
throw new TypeError();
var res = [];
var thisp = arguments[1];
for (var i = 0; i < len; i++)
{
if (i in t)
{
var val = t[i]; // in case fun mutates this
if (fun.call(thisp, val, i, t))
res.push(val);
}
}
return res;
};
}