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)Do not use new Array(singleArgument).;
const list = new Array(input)Do not use new Array(singleArgument).;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);