How to get unique array with only filter in Javascript
本问题已经有最佳答案,请猛点这里访问。
我有一个数组:
1 | var a = [2,3,4,5,5,4] |
我想从给定的数组中得到唯一的数组,比如
1 | b = [2,3,4,5] |
我试过了
1 | a.filter(function(d){return b.indexOf(d)>-1}) |
我不想用for循环。
通过
1 2 | var a = [2,3,4,5,5,4]; a.filter(function(value, index){ return a.indexOf(value) == index }); |
这不是一个角度相关的问题。根据您使用的库,可以用几种方法来解决这个问题。
如果使用jquery:
1 | var uniqeElements = $.unique([2,3,4,5,5,4]); |
输出将是:
1 | [2,3,4,5] |
如果使用下划线:
1 | var uniqeElements = _.uniq([2,3,4,5,5,4]); |
相同的输出。
纯JS代码:
1 2 3 | var unique = [2,3,4,5,5,4].filter(function(elem, index, self) { return index == self.indexOf(elem); }) |
1 2 3 | var b = a.filter( function( item, index, inputArray ) { return inputArray.indexOf(item) == index; }); |