js高階函式filter map reduce

2022-06-01 08:39:08 字數 1327 閱讀 4852

1

//高階函式 filter/map/reduce23

//filter中的**函式有乙個要求:必須返回乙個boolean值,4//

當返回true時,函式內部會自動將這次**的 n 加入到新的陣列中5//

當返回false時,函式內部會自動過濾掉這次的 n

6 const nums=[10,20,60,94,348,57,24,674,645,44,4]

7 let newnums = nums.filter(function

(n))

10 console.log("filter",newnums);

1112

//map

13 let newnums2 = newnums.map(function

(n) )

16 console.log("map",newnums2);

1718

//reduce作用,對陣列中的所有內容進行彙總 m賦值給prevalue,每次prevalue為上次的prevalue+n的值

19 let m=0;

20 let total = newnums2.reduce(function

(prevalue,n) ,m)

23//

newnums2=[20,40,48,8]有四個值,那就迴圈四次

24//

第一次 :prevalue=0 n=20

25//

第二次 :prevalue=20 n=40

26//

第三次 :prevalue=60 n=48

27//

第四次 :prevalue=108 n=8

28//

第五次 :prevalue=116

29//

最後返回116賦值給 total

30console.log(total);

31 console.log("*********高階寫法***************");

3233 let total2 = nums.filter(function

(n) ).map(function

(n) ).reduce(function

(prevalue,n) ,0)

4041

console.log(total2)

4243 console.log("更簡單寫法")

44 let total3 = nums.filter(n => n < 30).map(n => n * 2).reduce((pre, n) => pre +n);

45 console.log(total3)

filter map函式的區別

1 defeven num 2if num 2 0 3return true 4return false 5 lis 1,2,3,4,5,6,7,8,9 6 res filter even,lis 7print filter.list res filter只保留,返回為真的資料,過濾list的作用 ...

js函式高階

fn fn.call 普通函式呼叫 則函式中this window obj.sayhello 物件呼叫 函式中this 該物件 new student 構造函式呼叫 this 例項物件 btn.onclick fun 通過事件觸發 this指的是繫結事件物件 setinterval function...

js高階函式

filter用於對陣列進行過濾。它建立乙個新陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。注意 filter 不會對空陣列進行檢測 不會改變原始陣列 其中,函式 function 為必須,陣列中的每個元素都會執行這個函式。且如果返回值為 true,則該元素被保留 函式的第乙個引數 cu...