💼 This rule is enabled in the ✅ recommended
config.
🔧💡 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));
[item] = array.filter(x => isUnicorn(x));
const item = array.find(x => isUnicorn(x));
item = array.find(x => isUnicorn(x));
const item = array.findLast(x => isUnicorn(x));
Type: object
Type: boolean
Default: false
Pass checkFromLast: true
to check cases searching from last.
// eslint unicorn/prefer-array-find: ["error", {"checkFromLast": true}]
const item = array.filter(x => isUnicorn(x)).at(-1);
// eslint unicorn/prefer-array-find: ["error", {"checkFromLast": true}]
const item = array.filter(x => isUnicorn(x)).pop();
// eslint unicorn/prefer-array-find: ["error", {"checkFromLast": true}]
const item = array.findLast(x => isUnicorn(x));