ES6箭头函数的简单应用

箭头函数表达式是ES6新增的语法糖。它的语法比函数表达式更简洁,并且没有自己的thisargumentssupernew.target

箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。

大家应该已经见识过箭头函数在处理数据时候的强大之处。

箭头函数在类似map()filter()reduce()等需要其他函数作为参数来处理数据的高阶函数里会很好用。

阅读以下代码:

FBPosts.filter(function(post) {
  return post.thumbnail !== null && post.shares > 100 && post.likes > 500;
})

我们写下了filter函数,并尽量保证可读性。现在让我们用箭头函数来写同样的代码看看:

FBPosts.filter((post) => post.thumbnail !== null && post.shares > 100 && post.likes > 500)

这段代码完成了同样的任务,却变得更加简短易懂了。

 


 

现在有一道例题:使用箭头函数的语法来计算squaredIntegers数组里正整数的平方。

const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34];

 

提示1:需要对realNumberArray使用 filter( )进行检查,以获取正整数(小数点不算整数)。 

提示2:需要将filter( ) 函数中的值经过map( ) 平方操作后映射到变量squaredIntegers。

提示3:可以通过链式调用。

.............................................

 

.............................................

 

.............................................

 

以下是解答:

1 const realNumberArray = [4, 5.6, -9.8, 3.14, 42, 6, 8.34];
2 const squareList = (arr) => {
3   "use strict";
4   const squaredIntegers = arr.filter( (num) => num > 0 && num % parseInt(num) === 0 ).map( (num) => Math.pow(num, 2) );
5   return squaredIntegers;
6 };
7 const squaredIntegers = squareList(realNumberArray);
8 console.log(squaredIntegers);

输出结果:

 


 

部分内容参考自learn.freecodecamp.one 

 

posted @ 2020-04-17 23:52  墨西哥郊外的晚上*  阅读(297)  评论(0编辑  收藏  举报