Skip to content
← Back to rules

unicorn/no-array-sort 懸念

🛠️ An auto-fix is available for this rule.

何を行うか

Array#sort() の代わりに Array#toSorted() を使用することを推奨します。

なぜ問題か

Array#sort() は元の配列をインプレースで変更するため、コード内で他の場所でも元の配列が使われている場合、意図しない副作用を引き起こす可能性があります。

このルールに対して 不正な コードの例:

js
const sorted = [...array].sort();

このルールに対して 正しい コードの例:

js
const sorted = [...array].toSorted();

設定

このルールは以下のプロパティを持つ設定オブジェクトを受け付けます。

allowExpressionStatement

type: boolean

default: true

true(デフォルト)に設定すると、array.sort() が式文として使用されることを許可します。 false に設定すると、式文であっても Array#sort() が禁止されます。

allowExpressionStatementfalse に設定された場合の 不正な コードの例:

js
array.sort();

使用方法

設定ファイルまたは CLI でこのルールを 有効化 するには、次のようにします:

json
{
  "rules": {
    "unicorn/no-array-sort": "error"
  }
}
bash
oxlint --deny unicorn/no-array-sort

参照