๐ Prefer .find(โฆ) and .findLast(โฆ) over the first or last element from .filter(โฆ).
๐ผ This rule is enabled in the following configs: โ
recommended, โ๏ธ unopinionated.
๐ง๐ก This rule is automatically fixable by the --fix CLI option and manually fixable by editor suggestions.
Array#find() and Array#findLast() breaks the loop as soon as it finds a match and doesn't create a new array.
This rule is fixable unless default values are used in declaration or assignment.
// โ
const item = array.filter(x => isUnicorn(x))[0];
// โ
const item = array.filter(x => isUnicorn(x)).shift();
// โ
const [item] = array.filter(x => isUnicorn(x));
// โ
const item = array.find(x => isUnicorn(x));// โ
const item = array.filter(x => isUnicorn(x)).at(-1);
// โ
const item = array.filter(x => isUnicorn(x)).pop();
// โ
const item = array.findLast(x => isUnicorn(x));Type: object
Type: boolean
Default: true
Pass checkFromLast: false to disable check cases searching from last.
/* eslint unicorn/prefer-array-find: ["error", {"checkFromLast": false}] */
// โ
const item = array.filter(x => isUnicorn(x)).at(-1);
// โ
const item = array.filter(x => isUnicorn(x)).pop();