JS中的三個高階函式

2022-07-11 03:06:12 字數 1708 閱讀 1388

const nums = [2,3,5,1,77,55,100,200]

//要求獲取nums中大於50的數

//**函式會遍歷nums中每乙個數,傳入**函式,在**函式中寫判斷邏輯,返回true則會被陣列接收,false會被拒絕

let newnums = nums.filter(function (num)

return false;

}) //可以使用箭頭函式簡寫

// let newnums = nums.filter(num => num >50)

filter() 方法建立乙個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。

注意:filter() 不會對空陣列進行檢測。

注意:filter() 不會改變原始陣列。

// 要求將已經過濾的新陣列每項乘以2

//map函式同樣會遍歷陣列每一項,傳入**函式為引數,num是map遍歷的每一項,**函式function返回值會被新增到新陣列中

let newnums2 = newnums.map(function (num) )

//簡寫

// let newnums2 = newnums.map(num => num * 2)

console.log(newnums2);

map() 方法返回乙個新陣列,陣列中的元素為原始陣列元素呼叫函式處理後的值。

map() 方法按照原始陣列元素順序依次處理元素。

注意:map() 不會對空陣列進行檢測。

注意:map() 不會改變原始陣列。

// 3.reduce高階函式

//要求將newnums2的陣列所有數累加

//reduce函式同樣會遍歷陣列每一項,傳入**函式和『0』為引數,0表示**函式中prevalue初始值為0,**函式中引數prevalue是每一次**函式function返回的值,currentvalue是當前值

//例如陣列為[154, 110, 200, 400],則**函式第一次返回值為0+154=154,第二次prevalue為154,返回值為154+110=264,以此類推直到遍歷完成

let newnum = newnums2.reduce(function (prevalue,currentvalue) ,0)

//簡寫

// let newnum = newnums2.reduce((prevalue,currentvalue) => prevalue + currentvalue)

console.log(newnum);

reduce() 方法接收乙個函式作為累加器,陣列中的每個值(從左到右)開始縮減,最終計算為乙個值。

reduce() 可以作為乙個高階函式,用於函式的 compose。

注意:reduce() 對於空陣列是不會執行**函式的。

//三個需求綜合

let n = nums.filter(num => num > 50).map(num => num * 2).reduce((prevalue,currentvalue) => prevalue + currentvalue)

console.log(n);

python的三個高階函式

自己寫的筆記哈 1 map 指把乙個可呼叫物件func依次對映到序列的每個元素上,並返回乙個可迭代的map物件,但是map物件中的每個元素只能使用乙個。可呼叫物件func可以是系統自帶函式,使用者自定義函式,lambda。data map str,range 5 data2 map lambda x...

常用的三個內建高階函式

功能 將傳 的函式變數func作 到lst變數的每個元素中,並將結果組成新的列表 語法 map 引數1,引數2 引數1 功能函式func,注意不帶括號 引數2 可迭代物件,func函式將會作用到該可迭代物件中的每乙個元素中 示例 計算 list1 序列中各個數字的2次 list1 1 2,3 4,5...

js學習總結 js中的三個判斷

js裡面的三個判斷 if else 三元運算子 switch case if else if else 是最常用的判斷,可以解決js中的所有的判斷需求 三元運算子應用於簡單的if else情況 switch case應用於不同值情況下的不同操作 一 if else if中的條件可以是 小於 大於 等...