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中的條件可以是 小於 大於 等...