I am creating an Array
with length of 1,000,000
and filling it with 1
like this:
const bigArray = Array.from({ length: 1000000 }, () => 1);
when I push a new item to that Array
just inline as bellow, Nodejs
logs an error:
// This rise an TypeError: bigArray.push is not a function const bigArray = Array.from({ length: 1000000 }, () => 1).push(3);
// Although this one works right const bigArray = Array.from({ length: 1000000 }, () => 1); bigArray.push(3)
According to MDN , Array#push
returns the new length of the array, not the array itself:
Return value
The newlength
property of the object upon which the method was called.
The code you provided works in any node engine otherwise.
As an alternative to that approach to keep things in one assignment, you could spread the array into a new array:
const bigArray = [...Array.from({ length: 1000000 }, () => 1), 3];
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.