티스토리 뷰

.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[초기값 제공]);

 

댓글