lodash의 메서드 중에서 배열에 사용하는
take() 메서드를 알아봅니다.
# lodash take() 메서드는?
배열에 사용하는 take() 메서드는
주어진 배열에서 지정된 개수의 크기 만큼 새로운 배열로 반환합니다. 즉 원하는 크기의 배열을 쉽게 얻을 수 있습니다. 예를들어 만약 배열이 가진 값이 모두 5인 경우 처음부터 2개 크기의 값만 가지는 배열을 얻을 수 있습니다.
Before) [1 ,2, 3, 4, 5]After) [1, 2]그럼 아래에서 간단한 예제를 만들어 더 자세히 알아봅니다.
! lodash take() 메서드 예제보기
그럼 간단한 예제를 만들어보겠습니다. 예를 들어, 아래의 배열와 같이 1부터 5의 값을 가지는 배열이 존재합니다. 이때 배열의 크기가 3인 1부터 3까지의 값만 가지는 배열을 얻기 위해 take()를 사용할 수 있죠.
_.take([1, 2, 3, 4, 5], 3);
// Result
[1, 2, 3]
이처럼 take 메서드는 주어진 배열에서 처음 값 부터 지정된 개수 크기의 값만 추출하여 새로운 배열을 반환하게 됩니다.
@ 만약 뒤에서부터 원하는 크기만큼 반환하는 방법은?끝에서부터 반환하게 하려면 아래와 같이 reverse() 배열 함수 중간에 함께 사용할 수 있겠습니다. 즉 위 코드를 아래와 같이 수정 가능합니다.
let myArray = [1, 2, 3, 4, 5]
myArray.reverse()
let newArray = _.take(myArray, 3)
newArray.reverse()
// Result
console.log(newArray)
[3,2,1]
중간에 reverse()를 사용하여 배열을 역순으로 바꾼 후 take() 메서드를 사용하였습니다.
! 순수 자바스크립트를 사용하는 방법은?
만약 lodash take()를 사용하지 않는 경우 배열에
length를 사용하는 것으로 원하는 결과를 얻을 수 있습니다. 아래는 배열의 길이를 3개만 얻기 위해 length를 사용한 예제입니다.
let myArray = [1,2,3,4,5]
myArray.length = 3;
console.log(myArray);
// Result
[1,2,3]
출력 결과는 동일하지만 length는 새로운 배열을 만들지 않는다는 차이점이 있습니다.
여기까지 lodash의 take() 메서드에 대하여 알아보았습니다.