0

I have this function

function getDaysArray(days: number): number[] {
        return [...new Array(days)].map((_x, i) => {
            return i + 1;
        });
}

which is supposed to return an array of days by month, so for example If I log getDaysArray(31) I expect to have an array like this

[1,2,...,31]

but instead, I am getting this:

[empty × 31]

Does anyone know what is happening?

  • I cannot reproduce. This output is only expected if you do `new Array(days).map(…)`, without array spread syntax. – Bergi Jun 17 '22 at 15:21

2 Answers2

0

you can do something like this

function getDaysArray(days) {
        return Array.from({length: days}).map((_, i) => i + 1)

}

console.log(getDaysArray(31))
R4ncid
  • 6,944
  • 1
  • 4
  • 18
-1

Array.from({length:10},(_,i)=>i+1);

function getDaysArray(days: number): number[] {
        return Array.from({length:days},(_,i)=>i+1);
}

function getDaysArray(days) {
        return Array.from({length:days},(_,i)=>i+1);
}

console.log(getDaysArray(31));
Doger
  • 141
  • 1
  • 8