ECMAScript5에는 배열 병합을 위한 두 가지 새로운 메서드인 Reduce() 및 ReduceRight()도 추가되었습니다.
이 두 가지 모두 배열의 모든 항목을 반복합니다
Reduce(): 첫 번째 항목부터 끝까지 하나씩 순회합니다.
ReduceRight(): 배열의 마지막 항목부터 시작하여 배열의 첫 번째 항목으로 이동합니다.
두 메소드 모두 두 개의 매개변수, 즉 각 항목에 대해 호출되는 함수(매개변수는 이전 값, 현재 값, 항목 인덱스, 배열 객체)를 허용합니다.
이 함수에서 반환된 모든 값은 첫 번째 매개변수로 다음 항목에 자동으로 전달됩니다. 첫 번째 반복은 배열의 두 번째 항목인
에서 발생합니다.
따라서 첫 번째 매개변수는 배열의 첫 번째 항목이고, 두 번째 매개변수는 배열의 두 번째 항목입니다
및 는 병합의 기준으로 사용되는 초기값입니다.
다음과 같이 배열의 모든 값을 합산하는 작업을 수행하려면 Reduce() 메서드를 사용하세요.
병합 정렬은 병합 연산을 기반으로 하는 효과적인 정렬 알고리즘입니다. 이 알고리즘은 분할 정복(Divide and Conquer) 방식을 사용하는 매우 일반적인 응용 프로그램입니다.
병합 정렬 방법은 두 개 이상의 순서가 지정된 목록을 새로운 순서 목록으로 병합하는 것입니다. 즉, 정렬할 순서를 여러 하위 순서로 나누어 각 하위 순서를 정렬하는 것입니다. 그런 다음 정렬된 하위 시퀀스를 전체 정렬된 시퀀스에 병합합니다.
병합 정렬은 병합 연산을 기반으로 하는 효과적인 정렬 알고리즘입니다. 이 알고리즘은 분할 정복(Divide and Conquer) 방식을 사용하는 매우 일반적인 응용 프로그램입니다. 이미 정렬된 하위 시퀀스를 병합하여 완전히 정렬된 시퀀스를 얻습니다. 즉, 먼저 각 하위 시퀀스를 순서대로 만든 다음 하위 시퀀스 세그먼트를 순서대로 만듭니다. 두 개의 순서 목록이 하나의 순서 목록으로 병합되는 경우 이를 양방향 병합이라고 합니다.