eslint-plugin-unicorn
eslint-plugin-unicorn copied to clipboard
Rule proposal: Prefer array `last` methods over `reverse`
Description
It was mentioned in https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1323 but it was closed in favor of prefer-array-find, which only covered filter instead.
Fail
array.reverse().find(logic);
array.reverse().findIndex(logic);
array.reverse().indexOf(logic);
array.reverse().reduce(logic);
array.toReversed().find(logic);
array.toReversed().findIndex(logic);
array.toReversed().indexOf(logic);
array.toReversed().reduce(logic);
Pass
array.findLast(logic);
array.findLastIndex(logic);
array.lastIndexOf(logic);
array.reduceRight(logic);
Proposed rule name
avoid-array-reverse
Additional Info
No response
Name: prefer-array-last-methods?
Accepted.
array.toReversed().find(logic);
array.toReversed().findIndex(logic);
array.toReversed().indexOf(logic);
array.toReversed().reduce(logic);
array.toReversed().find(logic); array.toReversed().findIndex(logic); array.toReversed().indexOf(logic); array.toReversed().reduce(logic);
Before node 18.x is deprecated, the current solution is more suitable https://github.com/sindresorhus/eslint-plugin-unicorn/pull/2428#issuecomment-2298284336
@fisker I now added them to the "fail" examples above