유사 배열 객체(array-like object)나 반복 가능한 객체(iterable object)를 얕게 복사해 새로운Array 객체를 만든다.
ex) 매개변수가 문자열 일 때
Array.from('soju') => [ 's', 'o', 'j', 'u' ]
"soju".split("") => [ 's', 'o', 'j', 'u' ]
ex) 매개변수가 배열 일 때
Array.from([1,2,3]) => [1,2,3]
ex) 매개변수1이 배열이고 매개변수2가 함수일때
console.log(Array.from([1, 2, 3], () => Array(2).fill(null)));
console.log(Array.from(Array(3), () => Array(2).fill(null)));
[ [ null, null ], [ null, null ], [ null, null ] ]
[ [ null, null ], [ null, null ], [ null, null ] ]
ex) 원하는 행 열을 가진 2차원 배열 만들기
let rows = 3;
let columns = 4;
const RealArr = Array.from(Array(rows), () => {
return Array(columns).fill(null);
});
console.log(RealArr);
각각의 rows(행)에 대해 배열을 적용시켜 null을 각각 넣는다.
즉, 2차원 배열이란 뜻이다.