filter()可以把array中的元素過濾掉,返回剩下的元素
實現機制:和map()
類似,array
的filter()
也接收乙個函式。
和map()
不同的是,filter()
把傳入的函式依次作用於每個元素,然後根據返回值是true保留
false
丟棄該元素。
練習題目:
(1)在乙個array
中,刪掉偶數,只保留奇數
答:
var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) );
r; // [1, 5, 9, 15]
(2)把乙個array
中的空字串刪掉
答:
var arr = [
**函式'a',
'',
'b',
null,
undefined,
'c',
' '];
var r = arr.filter(
function
(s) );
r; // ['a', 'b', 'c']
(3)
filter()
接收的**函式,可以有多個引數,第乙個引數表示array
的某個元素,第二個引數表示元素的位置,第三個引數表示陣列本身去除
array
的重複元素:答:
var r,r = arr.filter(function (element, index, self) );
去除重複元素依靠的是indexof
總是返回第乙個元素的位置,後續的重複元素位置與indexof
返回的位置不相等,因此被filter
濾掉了。
(4)用filter()
篩選出素數
答:
function get_primes(arr)if(x==2)
for(var i = 2 ; i < x ; i++)
}return true;
});return sushu;
}var x, r, arr = ;
for (x = 1; x < 100; x++)
r = get_primes(arr);
if (r.tostring() === [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97].tostring()) else
參考廖雪峰老師的官方**
高階函式 filter函式
filter函式 filter function or none,iterable 篩選可迭代物件iterable 中的資料,返回乙個可迭代物件,此可迭代物件將對iterable生成的資料進行篩選 function 數將對iterable中每個元素進行求值,返回flase則將此資料丟充,返回true...
函式式程式設計 高階函式 filter
python內建的filter 函式用於過濾序列。和map 類似,filter 也接收乙個函式和乙個序列。和map 不同的是,filter 把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。例如,在乙個list中,刪掉偶數,只保留奇數,可以這麼寫 def ...
python之高階函式filter
原文 python內建的filter 函式用於過濾序列。和map 類似,filter 也接收乙個函式和乙個序列。和map 不同的是,filter 把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。例如,在乙個list中,刪掉偶數,只保留奇數,可以這麼寫 d...