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]
這樣就可以簡單又快速地快濾重複的元素