作为代码可读性方面的最佳实践,在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);
答案 0 :(得分:1)
请参阅documentation on the reduce parameters and their order。
第一个参数是accumulator
,后跟currentValue
,currentIndexOptional
和array
。
就命名约定而言,取决于您以及遵循或喜欢的任何编码标准。
我个人更喜欢您所说的generic approach
,因为它们在用途之间是一致的……但还是完全出于个人喜好:)
答案 1 :(得分:1)
您可以将其称为累加器,但是由于累加器的最终值是reduce函数的结果,因此您也可以将其称为result,这使我们更清楚地看到了结果值。我更喜欢结果,因为这有助于指出这一点,否则您必须记住...累加器是返回的内容。当然,您也可以将结果重命名为您要从函数中查找的任何内容。因此,猜测取决于它使它更具可读性的原因。我的首选是结果,因为它还获得每次迭代的结果。
答案 2 :(得分:0)
我想这是一个偏爱,但我会选择通用
const sum = studentAges.reduce((item,accumulator)=> accumulator +=item,0);
,因为这里不需要具体说明。您将回调作为参数传递,这是使参数比参数本身更多地使用参数的方式,从而使回调特定于您的用法。