noFlatMapIdentity
Summary
Section titled Summary- Rule available since:
v1.7.0 - Diagnostic Category:
lint/correctness/noFlatMapIdentity - This rule is recommended, which means is enabled by default.
- This rule has a safe fix.
- The default severity of this rule is information.
- Sources:
- Same as
flat_map_identity
- Same as
Description
Section titled DescriptionDisallow to use unnecessary callback on flatMap.
To achieve the same result (flattening an array) more concisely and efficiently, you should use flat instead.
Examples
Section titled ExamplesInvalid
Section titled Invalidarray.flatMap((arr) => arr);code-block.js:1:1 lint/correctness/noFlatMapIdentity FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Avoid unnecessary callback in flatMap call.
> 1 │ array.flatMap((arr) => arr);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ You can just use flat to flatten the array.
ℹ Safe fix: Replace unnecessary flatMap call to flat instead.
1 │ - array.flatMap((arr)·=>·arr);
1 │ + array.flat();
2 2 │
array.flatMap((arr) => {return arr});code-block.js:1:1 lint/correctness/noFlatMapIdentity FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ℹ Avoid unnecessary callback in flatMap call.
> 1 │ array.flatMap((arr) => {return arr});
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ You can just use flat to flatten the array.
ℹ Safe fix: Replace unnecessary flatMap call to flat instead.
1 │ - array.flatMap((arr)·=>·{return·arr});
1 │ + array.flat();
2 2 │
Valid
Section titled Validarray.flatMap((arr) => arr * 2);How to configure
Section titled How to configure{ "linter": { "rules": { "correctness": { "noFlatMapIdentity": "error" } } }}