Javascript如何使用filter()移除陣列中重複值

12 月 28, 2018 | Javascript, | 0 comments

Javascript filter函式,可以幫助我們過濾一個陣列中符合條件的元素,若不符合則刪除。不更改原陣列,而回傳新陣列。

filter 函式,接受一個 callback 函式,callback 可以有三個參數(element, index, array),

  • element:陣列元素的值。
  • index:陣列元素的所在位置。
  • arr:已經過 filter 處理的陣列

過濾陣列中值小於10的元素

var numbers = [20, 10, 9, 25, 1, 3, 8, 11];
var result = numbers.filter(function(element, index, arr){
    return element

callback 中,回傳 false 的元素將會被移除,但注意元陣列並未改變,而是回傳新陣列。

過濾陣列中重複的元素

利用這個函式,我們可以使用在過濾陣列中重複的元素

var array = [a, 1, 2, 3, 2, 3, b, a];
var result = array.filter(function(element, index, arr){
    return arr.indexOf(element) === index;
});
console.log(result);
// [a, 1, 2, 3, b]

這樣就可以簡單又快速地快濾重複的元素