JavaScript Array.from()

Array.from() lets you create array object from any object with a length property or any iterable object. It is a static method and hence it is not on prototype.

Syntax

Array.from(object, mapFunction, thisValue)

object is an array-like object or iterable. Array-like objects can be String, Map, Set, etc.

mapFunction is the function which will be called on every item of the array. It is an optional parameter.

thisValue is the value to be used as this when executing mapFunction. It is also an optional parameter.

Let's see few applications of Array.from():

1. Converting string to array

Array.from("Hello!");          // ['H','e','l','l','o','!']

2. Creating array of numbers with specified length

const numArray = Array.from({ length: 50 },(_, index)=>{
  return index;
});   
console.log(numArray);     // [0, 2, 3,....49]

Here, first we created an object with length property and passed a value 50. Next, a function is passed which simply returns the index which ultimately serves as the element of our array. Had we not passed this function, the resulting array would be an array of length 50, but with all the elements as undefined.

3. Creating a deep copy of an array

const num = [1, 2, 3];
const numCopy = Array.from(num);
num === numCopy;       // => false