我有一個數組:如何獲得只有過濾器獨特的排列在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