Javascript 当在函数中使用return关键字时,提高对它的理解
我发现在这种情况下使用return关键字会很奇怪,因为它被使用了两次。有没有办法重构此代码块,使return关键字不需要像这样重复出现两次:Javascript 当在函数中使用return关键字时,提高对它的理解,javascript,Javascript,我发现在这种情况下使用return关键字会很奇怪,因为它被使用了两次。有没有办法重构此代码块,使return关键字不需要像这样重复出现两次: return arr.filter(function (num) { return num > 0 && num % parseInt(num) === 0; 下面是整个代码块 const squareList = function squareList(arr) { return arr.filter(functi
return arr.filter(function (num) {
return num > 0 && num % parseInt(num) === 0;
下面是整个代码块
const squareList = function squareList(arr) {
return arr.filter(function (num) {
return num > 0 && num % parseInt(num) === 0;
}).map(function (num) {
return Math.pow(num, 2);
});
};
const squaredIntegers = squareList([-3, 4.8, 5, 3, -3.2]);
console.log(squaredIntegers);
您的代码包含三个不同的函数。在
.filter()
回调中有一个return
语句,在.map()
回调中有一个return
语句。它本身就很有意义。而且Math.floor(num)
比parseInt(num)
更好。JS允许在其他函数中定义函数。return
关键字仅从其封闭函数退出。如果您希望避免这种情况,可以将这些内部函数移到外部函数之外,使它们成为兄弟函数。以这种方式声明辅助函数是绝对标准的。我宁愿建议习惯它,而不是重构代码。您可以在外部创建helper函数,并且只为它们使用标识符,但这会损害可读性。在这种特定情况下,您还可以使用箭头函数的缩写来表示返回,这也将删除返回
,甚至可能提高可读性。但是,这在所有情况下都是不可能的。为了详细说明上面的最后一点,举个例子:return arr.filter(num=>num>0&&num%parseInt(num)==0)代码>