unicorn/prefer-array-some 細かい
機能
Array#some() を使用することを推奨し、Array#find()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)、Array#findLast()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLast) に対して undefined を比較する場合、または Array#findIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex)、Array#findLastIndex()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLastIndex) および Array#filter() の結果に対して 0 より大きな長さのチェックを行う場合に代えて使用します。
なぜ問題なのか?
.some() を使う方がより自然な表現であり、読みやすくなります。
例
このルールに違反する誤ったコードの例:
javascript
const foo = array.find(fn) ? bar : baz;
const foo = array.findLast((elem) => hasRole(elem)) !== null;
foo.findIndex(bar) < 0;
foo.findIndex((element) => element.bar === 1) !== -1;
foo.findLastIndex((element) => element.bar === 1) !== -1;
array.filter(fn).length === 0;このルールに従う正しいコードの例:
javascript
const foo = array.some(fn) ? bar : baz;
foo.some((element) => element.bar === 1);
!array.some(fn);使用方法
設定ファイルまたは CLI でこのルールを有効化するには、以下の通りです。
json
{
"rules": {
"unicorn/prefer-array-some": "error"
}
}bash
oxlint --deny unicorn/prefer-array-some