chunk()
매일 lodash 방법 원본 분석 업데이트
chunk () 방법 은 배열 의 요 소 를 블록 으로 나 누 는 것 입 니 다. 각 조각 을 하나의 배열 로 하고 마지막 으로 각 블록 으로 구 성 된 배열 로 돌아 가 는 것 입 니 다.
example:
_.chunk([1, 3, 5, 7, 9], 2)
// [[1, 3], [5, 7], [9]]
_.chunk([1, 2, 3, 4, 5, 6], 3)
// [[1, 2, 3], [4, 5, 6]]
_.chunk([1, 2, 3, 4, 5], 0)
// []
_.chunk([1, 2, 3, 4, 5])
// [[1], [2], [3], [4], [5]]
chunk (arr, size) 는 두 개의 인 자 를 받 습 니 다. 하 나 는 원래 배열 입 니 다. 하 나 는 블록 의 크기 size 입 니 다. 기본 값 은 1 입 니 다. 원래 배열 의 요 소 는 size 의 크기 에 따라 처음부터 블록 을 나 누고 각각 새로운 배열 을 구성 합 니 다. 마지막 요소 의 개수 가 size 의 크기 가 부족 하면 빠 른 구성 을 할 것 입 니 다.
원본 분석:
function chunk(array, size) {
// size 1
// size 0, 0 , 0, size
size = Math.max(size, 0)
// array null,length 0, array.length
const length = array == null ? 0 : array.length
// length 0 size 1,
if (!length || size < 1) {
return []
}
let index = 0
let resIndex = 0
// size , result
const result = new Array(Math.ceil(length / size))
// while array , array size result
// while index 0 , size , index length
// ,result resIndex 1
// , array index (index+size) , result
// array slice slice
while (index < length) {
result[resIndex++] = slice(array, index, (index += size))
}
// result
return result
}
실현 사고: 원 배열 의 길이 와 size 를 이용 하여 블록 을 나 눌 수 있 는 수량 을 계산 한 다음 에 블록 수 를 이용 하여 새로운 배열 을 만 든 다음 에 원 배열 을 옮 겨 다 니 며 index 에서 index + start 사이 의 요소 (start 포함, index + start 포함 하지 않 음) 를 캡 처 하여 새 배열 에 순서대로 주 고 마지막 으로 새 배열 로 돌아 갑 니 다.
2019/6/16
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
20) 검색할때 바로바로 안걸러주면 한국인은 답답해서 못살아 🤯 검색 프로세스 이해, Tokenizing, inverted index.. Debouncing / Throttling 원두멘토님의 열정을 이어받아 다 이해한날 !!!!!!먼저, 백엔드의 검색 시스템 구조에는 가장 기본적으로 테이블을 풀 스캔하는 방식(full table scan)으로 전체 테이블 로우를 조회하는 방법이 있었습니다! 이 방법을 개선하기 위해 데이터베이스에 저장할 때, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.