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" } } }}