javascript - 有人可以将此箭头函数转换为普通函数吗?

标签 javascript web ecmascript-6 arrow-functions

<分区>

我无法将此箭头函数转换为普通函数。我已经在 chrome 的控制台面板中对此进行了测试。这段代码摘自freecodeCamp.org Es6课

//This is what I have tried. The final output result is showing undefined


const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = function(arr) {
    "use strict";
    const squaredIntegers = function(num) {
        (function() {
            arr.filter(Number.isInteger(num) && num > 0);
        });       
        return squaredIntegers;
    } 
}

const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);

//Here is the Arrow function I was trying to convert

const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = (arr) => {
    "use strict";
    const squaredIntegers = arr.filter(num => Number.isInteger(num) && num > 0);
    return squaredIntegers;
};
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);


//The code should output this
[4, 42, 6];

最佳答案

箭头函数中 => 之后的任何表达式都成为函数的隐式返回,但您需要在普通函数中使用 return 关键字显式返回。

const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34, -2];
const squareList = function(arr){
    "use strict";
    const squaredIntegers = arr.filter(function(num){
        return Number.isInteger(num) && num > 0
    });
    return squaredIntegers;
};
const squaredIntegers = squareList(realNumberArray);
console.log(squaredIntegers);

关于javascript - 有人可以将此箭头函数转换为普通函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55896585/

相关文章:

java - 无法在 Eclipse 工作区中配置 Web 应用程序项目的运行路径

html - iframe 中的 iframe 无法加载

javascript - JS 导入是不可变的还是不可写的?

javascript - 解构变量的空检查

javascript - Babelify 和原生 Node 模块

javascript - 根据下拉选择将文本加载到文本区域

javascript - 在两个js文件之间共享全局变量

javascript - 如何使用 jquery 点击时清空()

css - 谷歌浏览器工具栏破坏网站布局

javascript - 如何使用 `requires` 重置类原型(prototype)