조건에 따른 배열 초기화

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 특정 조건이 충족될 때까지 함수에 의해 생성된 값으로 배열을 초기화하고 채우는 개념을 탐구합니다. conditionFnmapFn의 두 인수를 사용하는 initializeArrayUntil 함수를 사용할 것입니다. 이 랩을 통해 이 함수를 사용하여 사용자 지정 값과 조건으로 배열을 생성하는 방법에 대한 더 깊은 이해를 얻게 될 것입니다.

조건이 충족될 때까지 배열을 초기화하는 방법

코딩 연습을 시작하려면 터미널/SSH 를 열고 node를 입력하십시오.

특정 조건이 충족될 때까지 함수에 의해 생성된 값으로 배열을 초기화하고 채우는 단계는 다음과 같습니다.

  1. 빈 배열 arr, 인덱스 변수 i, 그리고 요소 el을 생성합니다.
  2. conditionFn 함수가 주어진 인덱스 i와 요소 el에 대해 true를 반환할 때까지 mapFn 함수를 사용하여 do...while 루프를 사용하여 배열에 요소를 추가합니다.
  3. conditionFn 함수는 현재 인덱스, 이전 요소 및 배열 자체의 세 가지 인수를 받습니다.
  4. mapFn 함수는 현재 인덱스, 현재 요소 및 배열 자체의 세 가지 인수를 받습니다.

다음은 코드입니다.

const initializeArrayUntil = (conditionFn, mapFn) => {
  const arr = [];
  let i = 0;
  let el = undefined;
  do {
    el = mapFn(i, el, arr);
    arr.push(el);
    i++;
  } while (!conditionFn(i, el, arr));
  return arr;
};

initializeArrayUntil 함수를 사용하려면 두 개의 함수를 인수로 제공합니다.

initializeArrayUntil(
  (i, val) => val > 10, //conditionFn
  (i, val, arr) => (i <= 1 ? 1 : val + arr[i - 2]) //mapFn
); // [1, 1, 2, 3, 5, 8, 13]

이 코드는 10 보다 큰 첫 번째 숫자까지 피보나치 수열로 배열을 초기화합니다. conditionFn 함수는 현재 값이 10 보다 큰지 확인하고, mapFn 함수는 수열의 다음 숫자를 생성합니다.

요약

축하합니다! 배열 초기화 (Initialize Array) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.