[guide] Use acc as reduce accumulator instead of memo to make it valid

In [this part of the `no-param-reassign` configuration](53b2d7d245/packages/eslint-config-airbnb-base/rules/best-practices.js (L174-L175)), `acc` is allowed to be mutated (rule [7.12](https://github.com/airbnb/javascript#functions--mutate-params), but `memo` is not.

This causes the [rule 4.6 example](https://github.com/airbnb/javascript#arrays--callback-return) in the README to actually be invalid.
This commit is contained in:
Jérémie Astori
2018-01-26 13:16:39 -05:00
committed by Jordan Harband
parent e9fff7adbf
commit fc99aefc4c

View File

@@ -404,16 +404,16 @@ Other Style Guides
// good
[1, 2, 3].map(x => x + 1);
// bad - no returned value means `memo` becomes undefined after the first iteration
[[0, 1], [2, 3], [4, 5]].reduce((memo, item, index) => {
const flatten = memo.concat(item);
memo[index] = flatten;
// bad - no returned value means `acc` becomes undefined after the first iteration
[[0, 1], [2, 3], [4, 5]].reduce((acc, item, index) => {
const flatten = acc.concat(item);
acc[index] = flatten;
});
// good
[[0, 1], [2, 3], [4, 5]].reduce((memo, item, index) => {
const flatten = memo.concat(item);
memo[index] = flatten;
[[0, 1], [2, 3], [4, 5]].reduce((acc, item, index) => {
const flatten = acc.concat(item);
acc[index] = flatten;
return flatten;
});