<script>
// 编程范式:命令式编程/声明式编程
// 编程范式:面向对象编程(第一公民:对象)/函数式编程(第一公民:函数)
// 高阶函数:filter/map/reduce
const num = [10, 20, 111, 222, 444, 333, 40, 50, 30];
// console.log(num);
// 1. filter函数的使用
// filter 中的回调函数有一个要求:必须返回一个boolean值
// true:当返回true时,函数内部会自动将这次回调的n加入到新的数组中去
// false:当返回false时,函数内部会自动过滤这次的n
let newNum = num.filter(function (n) {
return n < 100;
})
console.log(newNum);
// 2. map函数的使用
let new2Num = newNum.map(function (n) {
return n * 2;
})
console.log(new2Num);
// 3. reduce函数的使用
// reduce作用对数组中所有的内容汇总
// let total = new2Num.reduce(function (上一次返回的值, n) { }, 初始值)
let total = new2Num.reduce(function (preValue, n) {
return preValue + n;
}, 0)
// 1. 需求:取出所有小于100的数字
// let newNum = [];
// for (let n of num) {
// if (n < 100) {
// newNum.push(n);
// }
// }
// console.log(newNum);
// 2. 需求:将所有小于100的数字进行转化:全部 *2
// let new2Num = [];
// for (let n of newNum) {
// new2Num.push(n * 2);
// }
// console.log(new2Num);
// 3. 需求:将所有new2Num数字相加,得到最终的结果
// let total = 0;
// for (let n of new2Num) {
// total = total + n;
// }
// console.log(total);
</script>
JS高阶函数
最新推荐文章于 2024-06-23 15:22:08 发布