高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
生活随笔
收集整理的這篇文章主要介紹了
高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
編程范式: 命令式編程/聲明式編程?
編程范式: 面向對象編程(第一公民:對象)/函數式編程(第一公民:函數)
高階函數
filter/map/reduce
?
filter中的回調函數有一個要求:?必須返回一個boolean值
true:?當返回true時,?函數內部會自動將這次回調的n加入到新的數組中
false:?當返回false時,?函數內部會過濾掉這次的n
?
reduce作用對數組中所有的內容進行匯總
const nums = [10, 20, 111, 222, 444, 40, 50]// let total = nums.filter(n => n < 100).map(n => n * 2).reduce((pre, n) => pre + n); // console.log(total);let total = nums.filter(function (n) {return n < 100 }).map(function (n) {return n * 2 }).reduce(function (prevValue, n) {return prevValue + n }, 0) console.log(total);// 1.filter函數的使用 // // 10, 20, 40, 50 // let newNums = nums.filter(function (n) { // return n < 100 // }) // // console.log(newNums); // // // 2.map函數的使用 // // 20, 40, 80, 100 // let new2Nums = newNums.map(function (n) { // 20 // return n * 2 // }) // console.log(new2Nums); // // // 3.reduce函數的使用 // // reduce作用對數組中所有的內容進行匯總 // let total = new2Nums.reduce(function (preValue, n) { // return preValue + n // }, 0) // console.log(total);// 第一次: preValue 0 n 20 // 第二次: preValue 20 n 40 // 第二次: preValue 60 n 80 // 第二次: preValue 140 n 100 // 240// // 1.需求: 取出所有小于100的數字 // let newNums = [] // for (let n of nums) { // if (n < 100) { // newNums.push(n) // } // } // // // 2.需求:將所有小于100的數字進行轉化: 全部*2 // let new2Nums = [] // for (let n of newNums) { // new2Nums.push(n * 2) // } // // console.log(new2Nums); // // // // 3.需求:將所有new2Nums數字相加,得到最終的記過 // let total = 0 // for (let n of new2Nums) { // total += n // } // // console.log(total);?
總結
以上是生活随笔為你收集整理的高阶函数||编程范式: 命令式编程/声明式编程 || 编程范式: 面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: v-if 和 v-else-if 和v-
- 下一篇: 表单绑定 v-model —— :va