GsM*_*tra 9 javascript arrays angularjs
我有一个数组:
var a = [2,3,4,5,5,4]
Run Code Online (Sandbox Code Playgroud)
我想从给定的数组中得到唯一的数组
b = [2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
我试过了
a.filter(function(d){return b.indexOf(d)>-1})
Run Code Online (Sandbox Code Playgroud)
我不想用于循环.
Ash*_*Jha 13
你可以在JavaScript中,在方法的第二个 - index - 参数的帮助下完成它filter
:
var a = [2,3,4,5,5,4];
a.filter(function(value, index){ return a.indexOf(value) == index });
Run Code Online (Sandbox Code Playgroud)
这不是与 Angular 相关的问题。它可以通过多种方式解决,具体取决于您使用的库。
如果您使用的是 jquery:
var uniqeElements = $.unique([2,3,4,5,5,4]);
Run Code Online (Sandbox Code Playgroud)
输出将是:
[2,3,4,5]
Run Code Online (Sandbox Code Playgroud)
如果您使用下划线:
var uniqeElements = _.uniq([2,3,4,5,5,4]);
Run Code Online (Sandbox Code Playgroud)
相同的输出。
和纯JS代码:
var unique = [2,3,4,5,5,4].filter(function(elem, index, self) {
return index == self.indexOf(elem);
})
Run Code Online (Sandbox Code Playgroud)