我有一个数组:
var a = [2,3,4,5,5,4]
我希望从给定的数组中获取唯一的数组,如
b = [2,3,4,5]
我试过了
a.filter(function(d){return b.indexOf(d)>-1})
我不想使用for循环。
答案 0 :(得分:13)
您可以使用filter
方法的第二个索引参数在JavaScript中执行此操作:
var a = [2,3,4,5,5,4];
a.filter(function(value, index){ return a.indexOf(value) == index });
答案 1 :(得分:3)
这不是与Angular相关的问题。它可以通过几种方式解决,具体取决于您使用的库。
如果您使用的是jquery:
var uniqeElements = $.unique([2,3,4,5,5,4]);
输出结果为:
[2,3,4,5]
如果您使用下划线:
var uniqeElements = _.uniq([2,3,4,5,5,4]);
相同的输出。
纯JS代码:
var unique = [2,3,4,5,5,4].filter(function(elem, index, self) {
return index == self.indexOf(elem);
})
答案 2 :(得分:0)
var b = a.filter( function( item, index, inputArray ) {
return inputArray.indexOf(item) == index;
});