unicorn/no-new-array

Disallow new Array() with a single argument

has suggestions

new Array(value) does two different things. If value is a number, you get an array of that length with nothing in it. If it's anything else, you get an array with value as its only item. You can't tell which one is meant without knowing the type of value.

The rule suggests both readings: Array.from({length: value}) and [value]. It can't know which one you meant, so --fix leaves the code alone. --fix-dangerously applies the first one.

Configure#

Off by default. To turn it on:

bunfig.toml
[lint.rules]
"unicorn/no-new-array" = "error" # or "warn"

Examples#

example.js2 problems
const slots = new Array(10);
const list = new Array(input);
example.jsNo problems
const slots = Array.from({ length: 10 });
const list = [input];

Only the form with exactly one argument is ambiguous:

example.jsNo problems
const empty = new Array();
const pair = new Array(1, 2);