# no-array-reverse 📝 Prefer `Array#toReversed()` over `Array#reverse()`. 💼 This rule is enabled in the following [configs](https://github.com/sindresorhus/eslint-plugin-unicorn#recommended-config): ✅ `recommended`, ☑️ `unopinionated`. 💡 This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). Prefer using [`Array#toReversed()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toReversed) over [`Array#reverse()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse). `Array#reverse()` modifies the original array, while `Array#toReversed()` returns a new reversed array. ## Examples ```js // ❌ const reversed = [...array].reverse(); // ✅ const reversed = [...array].toReversed(); ``` ## Options Type: `object` ### allowExpressionStatement Type: `boolean`\ Default: `true` This rule allows `array.reverse()` to be used as an expression statement by default.\ Pass `allowExpressionStatement: false` to forbid `Array#reverse()` even if it's an expression statement. ```js /* eslint unicorn/no-array-reverse: ["error", {"allowExpressionStatement": false}] */ // ❌ array.reverse(); ``` ## Related rules - [unicorn/no-array-sort](./no-array-sort.md)