删除重复的关键字javascript

时间:2015-01-17 11:38:14

标签: javascript imacros

我删除了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);

1 个答案:

答案 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;
  };
}