Skip to content
← Back to rules

unicorn/prefer-array-some Pedantic

💡 A suggestion is available for this rule.

它的作用

优先使用 Array#some() 而不是 Array#find()、与 undefined 比较的 Array#findLast(), 或 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);

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "rules": {
    "unicorn/prefer-array-some": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  rules: {
    "unicorn/prefer-array-some": "error",
  },
});
bash
oxlint --deny unicorn/prefer-array-some

版本

此规则于 v0.0.18 中加入。

参考资料