js筆記 高階函式filter

2022-07-29 08:09:13 字數 1482 閱讀 8786

filter()可以把array中的元素過濾掉,返回剩下的元素

實現機制:和map()類似,arrayfilter()也接收乙個函式。

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...