Skip to content

takeWhile (Lodash 호환성)

es-toolkittakeWhile를 사용하세요

takeWhile 함수는 null이나 undefined 처리 등으로 인해 느리게 동작해요.

대신 더 빠르고 현대적인 es-toolkittakeWhile를 사용하세요.

조건을 만족하는 동안 배열의 앞에서부터 요소들을 가져와요.

typescript
const result = takeWhile(array, predicate);

레퍼런스

takeWhile(array, predicate)

배열의 시작에서부터 조건을 만족하는 동안 요소들을 가져와서 새로운 배열을 만들고 싶을 때 takeWhile을 사용하세요. 조건이 거짓으로 평가되면 멈춰요.

typescript
import { takeWhile } from 'es-toolkit/compat';

// 함수 조건 사용
const numbers = [1, 2, 3, 4, 5];
takeWhile(numbers, x => x < 3);
// Returns: [1, 2]

// 객체 속성 조건 사용
const users = [
  { user: 'barney', active: false },
  { user: 'fred', active: false },
  { user: 'pebbles', active: true },
];

takeWhile(users, o => !o.active);
// Returns: [{ user: 'barney', active: false }, { user: 'fred', active: false }]

// 부분 객체로 조건 매칭
takeWhile(users, { active: false });
// Returns: [{ user: 'barney', active: false }]

// 속성-값 배열로 조건 매칭
takeWhile(users, ['active', false]);
// Returns: [{ user: 'barney', active: false }, { user: 'fred', active: false }]

// 속성명으로 참으로 평가되는 값 확인
const items = [{ active: true }, { active: true }, { active: false }];
takeWhile(items, 'active');
// Returns: [{ active: true }, { active: true }]

null이나 undefined는 빈 배열로 처리해요.

typescript
import { takeWhile } from 'es-toolkit/compat';

takeWhile(null, x => x > 0); // []
takeWhile(undefined, x => x > 0); // []

파라미터

  • array (ArrayLike<T> | null | undefined): 처리할 배열이에요.
  • predicate (ListIteratee<T>, 선택): 각 요소에 대해 실행할 조건이에요. 함수, 부분 객체, 속성-값 배열, 속성명을 사용할 수 있어요. 기본값은 항등 함수예요.

반환 값

(T[]): 조건을 만족하는 동안 배열의 앞에서부터 가져온 요소들의 새로운 배열을 반환해요.

MIT 라이선스에 따라 배포됩니다.