1. 설명
배열의 각 요소에 Reducer 함수를 실행하고, 하나의 결과값( 누산값 )을 반환한다.
arr.reduce(callback[, initialValue]);
2. 매개변수
- callback : 배열의 각 요소에 대해 실행할 함수. 네 개의 인수를 받는다.
- accumulator : 누산기. callback의 반환값을 누적.
- currentValue : 처리할 현재 요소
- currentIndex (Optional) : 처리할 현재 요소의 인덱스
- array (Optional) : reduce를 호출한 배열
- initialValue (Optional) : callback의 최초 호출에서 첫 번째 인수에 제공하는 값
3. 실제 코드
getDragAfterElement(y : number){
return this.options.reduce(
(closest, currentValue) => {
const child = currentValue.el.parentElement;
const box = child.getBoundingClientRect();
const offset = y - box.top - box.height / 2;
if(offset < 0 && offset > closest.offset) return {offset: offset, element: child};
else return closest;
}
, {offset: Number.NEGATIVE_INFINITY}
).element;
}
반응형
'Client Side' 카테고리의 다른 글
forEach, for, every, some : 반복문 (0) | 2023.04.11 |
---|---|
forEach 순차처리의 불가능 (for문, for of문의 순차처리) (0) | 2023.04.06 |
Drag And Drop (0) | 2023.04.05 |
Modal Drag (0) | 2023.02.22 |
Datepicker MinDate (0) | 2023.01.30 |