Skip to content
You are currently reading docs for v1.x. Go to the latest docs if you are using newer version.

noFlatMapIdentity

Diagnostic Category: lint/correctness/noFlatMapIdentity

Since: v1.7.0

Sources:

Disallow to use unnecessary callback on flatMap.

To achieve the same result (flattening an array) more concisely and efficiently, you should use flat instead.

array.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 │

array.flatMap((arr) => arr * 2);
biome.json
{
"linter": {
"rules": {
"correctness": {
"noFlatMapIdentity": "error"
}
}
}
}