Skip to content
← Back to rules

unicorn/prefer-array-some 严格检查

An auto-fix is available for this rule.

它的作用

推荐使用 Array#some() 代替 Array#find()Array#findLast()undefined 的比较,或 Array#findIndex()Array#findLastIndex() 以及对 Array#filter() 结果进行非零长度检查。

为什么这是不好的?

使用 .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

参考资料