二:高阶函数(some、every、foreach等)
    高阶函数:就是函数作为返回值

    1. //模拟高阶函数
    2. //map 遍历数组中的元素 并执行传入的方法
    3. const maps = (array, fn) => {
    4. let results = [];
    5. for(let value of array) {
    6. results.push(fn(value));
    7. }
    8. return results;
    9. }
    10. //测试
    11. let arr = [1,2,3,4,5];
    12. arr = maps(arr, r => r * r)
    13. console.log(arr);
    1. //every 数组中的元素是否都匹配条件
    2. const every = (array, fn) => {
    3. let result = true;
    4. for (let value of array) {
    5. result = fn(value);
    6. if(!result) {
    7. break;
    8. }
    9. }
    10. return resut;
    11. }
    12. //测试
    13. let arr = [1,2,3,4,5];
    14. arr = every(arr, r => r > 2);
    15. console.log(arr);
    1. //some 是否至少有一个满足条件
    2. const some = (array, fn) => {
    3. let result = false;
    4. for(let value of array) {
    5. result = fn(value);
    6. if(!result) {
    7. break;
    8. }
    9. }
    10. return result;
    11. }
    12. //测试
    13. let arr = [1,2,3,4,5];
    14. arr = some(arr, r => r % 2 === 0)

    使用高阶函数的意义:

    • 抽象可以帮助我们屏蔽细节,只需要关注于我们的目标
    • 高阶函数是用来抽象通用的问题

    变得更加灵活