从数组列表中返回唯一数组

时间:2013-12-16 18:51:00

标签: javascript

我有一个如下所示的数组:

 var lst = [
     ['abc', 'ab'],
     ['a'],
     ['abc', 'ab'],        // dup
     ['abc', 'ab', 'bc'],
     ['c', 'a', 'c'],
     ['abc', 'ab', 'bc'],  // dup
     ['a'],
     ['c', 'a', 'c']       // dup
  ]

如何从此阵列中删除重复的项目?

我正在寻找的输出是:

var lst = [['abc', 'ab'], ['a'], ['abc', 'ab', 'bc'], ['c', 'a', 'c']]

1 个答案:

答案 0 :(得分:2)

就这么简单:

var lst = [['abc', 'ab'], ['a'], ['abc', 'ab'], ['abc', 'ab', 'bc'], ['c', 'a', 'c'], ['abc', 'ab', 'bc'], ['a'], ['c', 'a', 'c']]
var newLst = [];
var newLstJ = [];
for(var i = 0; i < lst.length; i++){
    var json = JSON.stringify(lst[i]);
    if(newLstJ.indexOf(json) === -1) {
        newLst.push(lst[i]);
        newLstJ.push(json);
    }
}
lst = newLst;