...
Lodash - 배열 조작 함수 정리
_.size()
- length와 같다고 보면된다.
- 하지만 배열 뿐만 아니라 문자열, 객체도 같은 메소드로 length를 구할수 있다.
_.size([1, 2, 3])
// => 3
_.size({ 'a': 1, 'b': 2 })
// => 2
_.size('apple')
// => 5
_.constant()
- 반환 값을 반환해주는 함수이다.
- 단독으로는 거의 사용하지 않고, 다른 Lodash 함수들과 같이 사용한다.
_.constant(0);
// => 0
_.constant({ a: 1 });
// => { a: 1 }
_.times()
- 콜백함수 조건에 맞게 반복횟수만큼의 데이터를 배열로 반환한다.
- 초기화를 시킬 때 유용하다.
_.times(3, _.constant(0));
// => [0, 0, 0]
_.compact()
- 인자로 배열을 받으면, 배열 내에 있는 false, null, 0, 빈값, undefined, NaN을 모두 제거하고 반환
_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]
_.take()
- 배열에서 앞에서부터 n개의 요소를 반환한다.
_.take([3, 5, 4, 7, 9], 3); // 차례로 3개를 가져옴
// => [3, 5, 4]
_.zip()
- 여러개의 배열들을 받으면, 첫번째 인자끼리, 두번째 인자끼리 ... 해서 합쳐 새로이 배열을 생성
_.zip(['a', 'b'], [1, 2], [true, false]);
// => [['a', 1, true], ['b', 2, false]]
_.flatten()
- 고차원 배열을 한 차원 끌어올려 반환
_.flatten([1, [2, [3, [4]], 5]]);
// => [1, 2, [3, [4]], 5]
_.flattenDeep()
- 고차원 배열을 전부 끌어올려 1차원 배열 형태로 반환
_.flattenDeep([1, [2, [3, [4]], 5]]);
// => [1, 2, 3, 4, 5]
_.flattenDepth()
- 고차원 배열을 인자의 값 만큼, 차원 끌어올려 반환
var array = [1, [2, [3, [4]], 5]];
_.flattenDepth(array, 1);
// => [1, 2, [3, [4]], 5]
_.flattenDepth(array, 2);
// => [1, 2, 3, [4], 5]
_.range()
- 인자를 주면 그 범위만큼 순차 배열을 생성
- 오름차순이나 내림차순 숫자로 이뤄진 배열을 만들 때 쓴다.
- 게시판의 페이지를 넘길 수 있는 숫자를 표시할 때 쓴다.
_.range(4);
// => [0, 1, 2, 3]
_.range(-4);
// => [0, -1, -2, -3]
_.range(1, 5);
// => [1, 2, 3, 4]
_.range(0, 20, 5); // 3번째 인수는 증가/감소 값
// => [0, 5, 10, 15]
_.range(0, -4, -1);
// => [0, -1, -2, -3]
_.range(1, 4, 0);
// => [1, 1, 1]
_.sample()
- 인자값 중에 랜덤으로 값을 리턴
_.sample([1, 2, 3, 4]);
// => 2
_.sampleSize()
- 콜렉션에서 추출 갯수 만큼 랜덤값 리턴
// _.sampleSize( 콜렉션, [추출 갯수=1])
_.sampleSize(_.range(1, 45), 7);
// => 로또 번호 추출
// => 1 ~ 44 번호중 7개 랜덤뽑
# 참고자료
https://www.geeksforgeeks.org/lodash-introduction/?ref=gcse
https://lodash.com/docs/4.17.15
https://runebook.dev/ko/docs/lodash/-index-
인용한 부분에 있어 만일 누락된 출처가 있다면 반드시 알려주시면 감사하겠습니다
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.