编程语言
首页 > 编程语言> > javascript-将ECMAScript 6的arrow函数转换为常规函数

javascript-将ECMAScript 6的arrow函数转换为常规函数

作者:互联网

这个问题已经在这里有了答案:            >            What’s the meaning of “=>” (an arrow formed from equals & greater than) in JavaScript?                                    12个
我有以下箭头功能

if(rowCheckStatuses.reduce((a,b)=> a b,0)){}

rowCheckStatuses是一个1和0的数组,此箭头函数将它们全部加起来以产生一个数字.此数字用作确定数组中是否至少有一个“ 1”的布尔值.

问题是,我不太了解箭头功能的工作原理,并且我的IDE认为这是错误的语法,因此拒绝检查文档的其余部分是否存在语法错误.

我将如何将其转换为常规函数以缓解这两个问题?

解决方法:

您可以将其重构为:

if( rowCheckStatuses.reduce(function(a, b){return a + b}, 0)

不需要初始累加器(除非有时您期望数组为空),可能是:

if( rowCheckStatuses.reduce(function(a, b){return a + b})

This number acts as a boolean to determine whether or not there is at least one “1” in the array

使用起来可能更快(更清晰):

if( rowCheckStatuses.some(function(a){return a == 1}))

如果rowCheckStatuses中有1,则返回true,并且一旦遇到1就返回.另一种选择是indexOf:

if( rowCheckStatuses.indexOf(1) != -1)

很多替代品.

标签:arrow-functions,javascript,ecmascript-6
来源: https://codeday.me/bug/20191012/1901576.html