Skip to content

noFlatMapIdentity

¥Summary

¥How to configure

biome.json
{
"linter": {
"rules": {
"complexity": {
"noFlatMapIdentity": "error"
}
}
}
}

¥Description

禁止在 flatMap 上使用不必要的回调。

¥Disallow to use unnecessary callback on flatMap.

为了更简洁、更有效地实现相同的结果(展平数组),你应该改用 flat

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

¥Examples

¥Invalid

array.flatMap((arr) => arr);
code-block.js:1:1 lint/complexity/noFlatMapIdentity  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid unnecessary callback in flatMap call.

> 1 │ array.flatMap((arr) => arr);
^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

You can just use flat to flatten the array.

Unsafe 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/complexity/noFlatMapIdentity  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Avoid unnecessary callback in flatMap call.

> 1 │ array.flatMap((arr) => {return arr});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │

You can just use flat to flatten the array.

Unsafe fix: Replace unnecessary flatMap call to flat instead.

1 - array.flatMap((arr)·=>·{return·arr});
1+ array.flat();
2 2

¥Valid

array.flatMap((arr) => arr * 2);

¥Related links