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