filter也是乙個常用的操作,它用於把array
的某些元素過濾掉,然後返回剩下的元素。
和map()
類似,array
的filter()
也接收乙個函式。和map()
不同的是,filter()
把傳入的函式依次作用於每個元素,然後根據返回值是true
還是false
決定保留還是丟棄該元素。
例如,在乙個array
中,刪掉偶數,只保留奇數,可以這麼寫:
var arr = [1, 2, 4, 5, 6, 9, 10, 15];var r = arr.filter(function
(x) );
r; //
[1, 5, 9, 15]
把乙個array
中的空字串刪掉,可以這麼寫:
var arr = ['a', '', 'b', null, undefined, 'c', ' '];var r = arr.filter(function
(s) );
r; //
['a', 'b', 'c']
可見用filter()
這個高階函式,關鍵在於正確實現乙個「篩選」函式。
filter()
接收的**函式,其實可以有多個引數。通常我們僅使用第乙個引數,表示array
的某個元素。**函式還可以接收另外兩個引數,表示元素的位置和陣列本身:
var arr = ['a', 'b', 'c'];var r = arr.filter(function
(element, index, self) );
利用filter
,可以巧妙地去除array
的重複元素:
'use strict';varr,
r = arr.filter(function
(element, index, self) );
console.log(r.tostring());
執行結果:
adotable中Filter的用法
當我們在運算元據集時,往往需要對資料進行篩眩例如 乙個名為customer的資料表,它具有custno custname country address phone state taxrate等字段,如果只想檢視國別為china或顧客號大於1000的顧客記錄,就需要對資料集進行過濾。經總結,有下面這...
vue中filter的用法
平時開發中,需要用到過濾器的地方有很多,比如單位轉換 金額加千分位 文字格式化等,比如 1 格式化金額 2const digitsre d d g 3 vue.filter currencyfilter function value 實現效果16568686.00 16,568,686.00 這是常...
python中filter函式的用法
filter函式用於過濾序列。filter 函式包含2個引數,乙個是過濾函式,另乙個是過濾序列。形如 filter f,l filter函式會將過濾函式依次作用於每乙個過濾序列的元素,返回符合要求的過濾值。下面用乙個例子 刪除1 100中素數 l range 1,101 def isprimer n...