.sort() .map() .reduce()함수 가 뭔가
.sort()
배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환한다..? 배열..반환..?
arr.sort([compareFunction])
compareFunction : 정렬순서를 정의하는 함수
compareFunction(a, b)이 0보다 작은 경우 a를 b보다 낮은 색인으로 정렬합니다. 즉, a가 먼저옵니다.
-> -1일경우 a를 b(a<b)보다 낮은 걸로 인식한다..a가 먼저 오게끔 한다.(내림차순)
compareFunction(a, b)이 0보다 큰 경우, b를 a보다 낮은 인덱스로 소트합니다.
-> 1일경우 b를 a(a>b)보다 낮은걸로 인식하여 b가 먼저 오게끔 한다.(오름차순)
function compareNumbers(a, b) {
return a - b;
}
//오름차순으로 정렬하는 방법
.map()
배열 내 모든 요소가 주어진 함수에 대해 호출한 결과를 모아 이미 있는 배열 외 새로운 배열을 반환한다.
(forEach문과 다르게 새로운 배열을 리턴하고 브라우저에서 속도가 빠르기 때문에 데이터를 변경하는 일에 사용)
처음부터 끝까지 순회 아이템의 데이터를 가공할 수 있음, return 시 새로운 리스트의 index에 담게 된다.
arr.map(callback(currentValue[, index[, array]])[, thisArg])
currentValue : 처리할 현재 요소 ex). [1,2,3,4,5,6]
index : 처리할 현재 요소의 인덱스 ex).[0,1,2,3,4,5]
array : map()을 호출할 배열
thisArg : callback 실행시 this로 사용되는 값
.reduce()
.reduce()함수는.. 받아오는 callback이 네가지나 있고 뭘 순환하는지 몰라서 뭔 함순지 모르겠다 일단 배열순환이긴한데,,
배열이 순환하며 요소의 누적값을 받아온다
arr.reduce(callback[, initialValue])
.reduce(accmulator,currentValue,currentIndex,array)
accmulator : 콜백의 반환값 누적
currentValue : 현재 처리할 요소
currentIndex : 처리할 현재 요소의 인덱스
array : reduce()를 호출한 배열
[0, 1, 2, 3, 4].reduce(function(accumulator, currentValue, currentIndex, array) {
return accumulator + currentValue;
}, 10[초기값 제공]);