作为代码可读性方面的最佳实践,在命名Array.reduce中的回调参数时,应使用以下哪种命名约定?const studentAges= [15,16,14,15,14,20]
- 通用
const sum = studentAges.reduce((accumulator,currentValue)=> accumulator +=currentValue,0);
- 特定
const sum = studentAges.reduce((sum,age)=> sum+=age,0);
作为代码可读性方面的最佳实践,在命名Array.reduce中的回调参数时,应使用以下哪种命名约定?const studentAges= [15,16,14,15,14,20]
const sum = studentAges.reduce((accumulator,currentValue)=> accumulator +=currentValue,0);
const sum = studentAges.reduce((sum,age)=> sum+=age,0);
4条答案
按热度按时间lawou6xi1#
请参阅有关reduce参数及其顺序的文档。
第一个参数是
accumulator
,然后是currentValue
、currentIndexOptional
和array
。至于命名约定,这取决于您以及您遵循或喜欢的任何编码标准。
我个人更喜欢你所说的
generic approach
,因为它在使用之间是一致的...但同样完全是个人喜好:)7y4bm7vi2#
你可以称它为accumulator,但由于accumulator的最终值是reduce函数的结果,你也可以称它为result,这使得我们更清楚地看到结果值。我更喜欢result,因为它有助于说明这一点,否则你必须记住...累加器是返回的内容。当然你也可以把结果重命名为你想从函数中得到的任何东西,所以这取决于什么使它更可读,我的pref是result,因为它也得到了每次迭代的结果。
mzsu5hc03#
我有时候会使用混合方法,在accumulator变量名上加上
acc
,比如如果结果是一个数组,这样你就可以区分reduce中的accumulator和result,同时还能给两个变量名都增加意义。syqv5f0l4#
我想这是一个偏好的问题,但我会选择通用的
因为这里不需要特别说明,你将一个回调作为参数传递,正是你使用参数的方式而不是参数本身,使得回调特定于你的用法。