Arrays Rules

Array formatting, callback destructuring, and line break rules

3 rules3 auto-isFixable1 isConfigurable

array-callback-destructure

auto-isFixable

When destructuring parameters in array method callbacks, enforces each property on its own line when there are 2 or more properties

Why: Improves readability of array transformations by making destructured properties easy to scan vertically
Correct
javascript
const result = items.map((    name,    value,}) => `${name}: ${value}`);
Incorrect
javascript
const result = items.map(({ name, value, id }) => `${name}: ${value}`);
eslint.config.js
javascript
"code-style/array-callback-destructure": "error"

array-items-per-line

auto-isFixableisConfigurable

Collapse arrays with few items to one line; expand larger arrays with each item on its own line

Why: Prevents overly long single-line arrays while avoiding unnecessary expansion for simple arrays

Options

OptionTypeDefaultDescription
maxItemsinteger3Maximum items to keep on single line
eslint.config.js
javascript
"code-style/array-items-per-line": ["error", { maxItems: 3 }]
Correct
javascript
const colors = ["red", "green", "blue"]; const weekdays = [    "Monday",    "Tuesday",    "Wednesday",    "Thursday",    "Friday",];
Incorrect
javascript
const weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
eslint.config.js
javascript
"code-style/array-items-per-line": "error"

array-objects-on-new-lines

auto-isFixable

Each object in an array starts on its own line for better visual scanning

Why: Object literals in arrays are visually complex. Own lines make it easier to scan, compare, and edit
Correct
javascript
const users = [    { id: 1, name: "Alice" },    { id: 2, name: "Bob" },];
Incorrect
javascript
const users = [{ id: 1, name: "Alice" }, { id: 2, name: "Bob" }];
eslint.config.js
javascript
"code-style/array-objects-on-new-lines": "error"