我有一个数组:如何获得只有过滤器独特的排列在Javascript
var a = [2,3,4,5,5,4]
我想唯一的数组出给定数组像
b = [2,3,4,5]
我已经试过
a.filter(function(d){return b.indexOf(d)>-1})
我不想使用for循环。
我有一个数组:如何获得只有过滤器独特的排列在Javascript
var a = [2,3,4,5,5,4]
我想唯一的数组出给定数组像
b = [2,3,4,5]
我已经试过
a.filter(function(d){return b.indexOf(d)>-1})
我不想使用for循环。
你可以简单地做它在JavaScript中,与第二的帮助 - 指数 - 该filter
方法的参数:
var a = [2,3,4,5,5,4];
a.filter(function(value, index){ return a.indexOf(value) == index });
如果你解释这个,我会很高兴“函数(d,i){返回a.indexOf(d)== i}” –
我在参数是索引,意味着当您检查第二个最后5时,索引将4,但indexOf将3,所以他们不匹配因此它会过滤出 – Ash
谢谢。你有gi ven简单,棘手和伟大的回答这个问题 –
var b = a.filter(function(item, index, inputArray) {
return inputArray.indexOf(item) == index;
});
请给你的代码添加一些解释 –
请参考Yaser Adel Mehraban sloution –
这不是一个角的相关问题。它可以通过几种方式来解决,具体取决于您使用的库。
如果您正在使用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);
})
http://stackoverflow.com/questions/9229645/remove-duplicates-from-javascript-array –
这里有多个实例 - HTTP://www.jstips。 co/en/deduplicate-an-array /使用较新的ES语法,以及将来的实现(使用数组集合) – ioneyed
使用lodash库(https://lodash.com/docs/#uniq) – Pratap