ECMAScript5는 배열에 대한 두 가지 병합 방법을 정의합니다. 두 방법 모두 배열의 임의의 항목을 반복 한 다음 최종 반환 된 값을 구축합니다. READE () 메소드는 배열의 첫 번째 항목에서 시작하여 배열 끝을 통해 하나씩 반복합니다. reduceRight () 메소드는 반대입니다. 배열의 마지막 항목에서 시작하여 첫 번째 항목으로 전달됩니다.
두 방법 모두 두 가지 매개 변수를받습니다. 각 항목에서 호출 된 함수와 병합의 기초로 초기 값. 함수는 감소 () 및 reduceRight ()를 감소시키기 위해 전달되었습니다. 이 함수에 의해 반환 된 값은 다음 항목으로 첫 번째 매개 변수로 자동 전달됩니다. 첫 번째 반복은 배열의 두 번째 항에서 발생하므로 첫 번째 매개 변수는 배열의 첫 번째 항이고 두 번째 매개 변수는 배열의 두 번째 항입니다.
예를 들어, Reduce () 메소드를 사용하여 배열에서 모든 값의 합을 찾을 수 있습니다.
var nums = [1,2,3,4,5]; var sum = nums.reduce (function (prev, cur, index, array) {retrun pre + cur;});위의 코드에서, 콜백 함수가 처음 실행되고, 이전은 1이고, cur는 2입니다. 두 번째는 이전의 두 번째는 3이고 cur는 3입니다. Reduce () 메소드는 배열의 각 항목에 한 번 액세스 할 때 까지이 프로세스를 반복하고 결국 반환 된 결과를 합계에 할당합니다.
reduceRight () 메소드는 왼쪽 및 오른쪽과 유사하지만 반대로 실행됩니다. 예를 들어:
var nums = [1,2,3,4,5]; var sum = nums.reduceright (함수 (prev, cur, index, array) {retrun pre + cur;});이 예에서 콜백 함수가 처음 실행되고 이전은 5이고 CUR은 4입니다. 최종 합계 결과는 READE () 메소드, 15와 동일합니다.
Reduce () 및 reduceRight ()를 지원하는 브라우저는 IE9+, Firefox3+, Safari4+, Opera10.5+및 Chrome입니다.
다시 채우다
ECMAScript5는 또한 배열을 병합하기 위해 2 개의 새로운 방법을 추가합니다 : reter () 및 reduceRight ().
이 두 가지 모두 배열의 모든 항목에 반복
감소 () : 첫 번째 항목에서 끝까지 하나씩 반복하십시오.
reduceRight () : 배열의 마지막 항목에서 시작하여 배열의 첫 번째 항목으로 반복합니다.
두 방법 모두 두 가지 매개 변수를 허용합니다. 각 항목에서 호출 된 함수 (매개 변수는 이전 값, 현재 값, 항목 색인, 배열 객체)입니다.
이 함수에 의해 반환 된 값은 다음 항목으로 첫 번째 매개 변수로 자동 전달됩니다. 첫 번째 반복은 배열의 두 번째 항목에서 발생합니다.
따라서 첫 번째 매개 변수는 배열의 첫 번째 항목이고 두 번째 매개 변수는 배열의 두 번째 항목입니다.
그리고 병합 기반의 초기 값으로.
Reduce () 메소드를 사용하여 배열에서 모든 값의 합을 수행하십시오.
var 값 = [1, 2, 3, 4, 5]; var sum = values.reduce (function (prev, cur, index, array) {return prev + cur;}); 경고 (합); // 결과는 동일하지만 방향은 반대편 var sum2 = values.reguceright입니다 (function (prev, cur, index, array) {return prev+cur;}); 경고 (sum2);Merge Sort는 병합 작업을 기반으로 한 효과적인 정렬 알고리즘입니다. 이 알고리즘은 분열 및 정복의 매우 전형적인 적용입니다.
병합 정렬 방법은 2 개 (또는 2 개 이상)의 정렬 된 테이블을 새로운 주문 테이블로 병합하는 것입니다. 그런 다음 순서 대상 후속이 전체 순서 시퀀스로 병합됩니다.
병합 정렬은 병합 작업을 기반으로 한 효과적인 정렬 알고리즘입니다. 이 알고리즘은 분열 및 정복의 매우 전형적인 적용입니다. 정렬 된 후속 시퀀스를 병합하여 완전히 정렬 된 시퀀스를 얻습니다. 즉, 각 후속 순서를 첫 번째 순서로 만든 다음 후속 세그먼트를 순서로 만듭니다. 정렬 된 두 테이블이 하나의 주문 테이블로 병합되면 2 방향 병합이라고합니다.