1. // 高阶函数 模拟 map every some
    2. // map
    3. const myMap = (array, fn) => {
    4. const results = [];
    5. for (let value of array) {
    6. results.push(fn(value));
    7. }
    8. return results;
    9. };
    10. const arr = [1, 2, 35, 63, 6];
    11. const mapRes = myMap(arr, item => `我是平方:${item * item}`);
    12. console.log("mapRes", mapRes);
    13. // every
    14. const myEvery = (array, fn) => {
    15. let flag = true;
    16. for (let value of array) {
    17. if (!fn(value)) {
    18. flag = false;
    19. break;
    20. }
    21. }
    22. return flag;
    23. };
    24. const everyRes = myEvery(arr, item => item > 10);
    25. console.log("everyRes", everyRes);
    26. // some
    27. const mySome = (array, fn) => {
    28. let flag = false;
    29. for (let i = 0; i < array.length; i++) {
    30. if (fn(array[i])) {
    31. flag = true;
    32. break;
    33. }
    34. }
    35. return flag;
    36. };
    37. const someRes = mySome(arr, item => item % 2 === 0);
    38. console.log("someRes", someRes);