[JS] Array.from 메소드

유난·2024년 10월 3일

TIL

목록 보기
6/15
post-thumbnail

Array.from() 메소드를 사용하여 배열을 만들 수 있다.

기본형

Array.from(arrayLike, mapFn);
  • arrayLike: 배열로 변환하고 싶은 유사 배열 객체 또는 반복 가능한 객체.
    - 유사 배열 객체: length 속성을 가진 객체(예: arguments 객체, DOM NodeList 등)
    - 반복 가능한 객체: 문자열, Set, Map, 등 반복 가능한 값들
  • mapFn (선택): 배열의 각 요소에 대해 호출할 함수. (배열을 만들면서 각 요소에 대해 변환 작업을 할 때 사용)

활용

크기가 l인 배열 만들기

//크기가 l이고 i번째 아이템이 i*2인 배열 생성
const result = Array.from({ length: l }, (_, i) => i * 2); // l: length, i: index
  • il이 되기 전까지 i번째 배열에 i*2가 들어간 배열을 만든다. (i는 0부터 시작)

예시 1

const result = Array.from({ length: 5 }, (_, i) => i * 2);

console.log(result); // [0, 2, 4, 6, 8]

예시 2

  • 1<= r <= l <= 10000 일 때,
function solution(l, r) {
    var answer = Array.from({ length: r-l+1 }, (_, i) => i+l).filter((num) => /^[05]+$/.test(String(num)));
    
    return answer.length ? answer : [-1];
}
  • 크기가 r-l+1이고 i번째 아이템이 i+l인 배열 중에서(Array.from), 0과 5을 포함한 숫자가 포함된 배열만 추출(filter)한다.
  • 예를 들어, l = 5 r=555 일 때, 배열의 길이는 551이고, 5(0+5) ~ 555(550+5)까지의 정수를 담는다.
    -> answer = [5, 50, 55, 500, 505, 550, 555]
profile
프론트엔드 꿈나무🌱

0개의 댓글