Ecmascript5 определяет два метода слияния для массивов: REATE () и REDUCERIGE (). Оба метода отражают произвольные элементы массива, а затем создают окончательное возвращенное значение. Метод REMUT () начинается с первого элемента массива и итерации до конца массива один за другим. Метод REDUCERIGE () - это как раз наоборот. Он начинается с последнего элемента массива и идет вперед к первому пункту.
Оба метода получают два параметра: функция, вызванная каждому элементу, и начальное значение в качестве основы для слияния. Функция, передаваемая для уменьшения () и Reduceright (), получает 4 параметра: предыдущее значение, текущее значение, индекс элемента и объект массива. Любое значение, возвращаемое этой функцией, будет автоматически передано следующему элементу в качестве первого параметра. Первая итерация происходит на втором члене массива, поэтому первый параметр является первым членом массива, а второй параметр - второй член массива.
Например, мы можем использовать метод Cread (), чтобы найти сумму всех значений в массиве.
var nums = [1,2,3,4,5]; var sum = nums.reduce (function (prev, cur, index, array) {retrun pre + cur;});В приведенном выше коде при первом выполнении функции обратного вызова PREV IS 1, а CUR - 2. Второй раз, когда предварительно - 3, а CUR - 3. Метод REMUT () повторяет этот процесс, пока каждый элемент в массиве не будет обработан один раз, и, наконец, назначит возвращаемый результат сумме.
Метод REDUCERIGE () аналогичен левой и правой, но выполняется в обратном направлении. Например:
var nums = [1,2,3,4,5]; var sum = nums.reduceright (function (prev, cur, index, массив) {retlun pre + cur;});В этом примере первый раз, когда функция обратного вызова выполняется, PREV составляет 5, а CUR - 4. Окончательная сумма результат совпадает с методом REMUT (), оба 15.
Браузеры, которые поддерживают REATE () и REDUCERIGHT (): IE9+, FireFOX3+, SAFARI4+, OPERA10.5+и Chrome.
Пополнить
Ecmascript5 также добавляет 2 новых метода для слияния массивов: REATE () и REDUCERIGE ().
Оба эти итерации по всем предметам в массиве
Уменьшите (): перевернуть один за другим от первого элемента до конца.
REDUCERIGHT (): начиная с последнего предмета массива, пережив до первого предмета массива.
Оба метода принимают два параметра: функция, вызванная на каждом элементе (параметры: предыдущее значение, текущее значение, индекс элемента, объект массива)
Любое значение, возвращаемое этой функцией, будет автоматически передано следующему элементу в качестве первого параметра. Первая итерация происходит на втором пункте массива,
Следовательно, первый параметр является первым элементом массива, а второй параметр - второй элемент массива
и как начальное значение базы слияния.
Используйте метод Cread (), чтобы выполнить сумму всех значений в массиве, например:
var values = [1, 2, 3, 4, 5]; var sum = values.reduce (function (prev, cur, index, array) {return prev + cur;}); предупреждение (сумма); // Результат одинаково, но направление - это противоположное var sum2 = values.reduceright (function (prev, cur, index, array) {return prev+cur;}); предупреждение (sum2);Сорт -сортировка - это эффективный алгоритм сортировки, основанный на операции слияния. Этот алгоритм является очень типичным применением разделения и завоевания.
Метод сортировки слияния состоит в том, чтобы объединить две (или более двух) упорядоченных таблиц в новую упорядоченную таблицу, то есть разделить последовательность, которая будет сортирована на несколько последствий, каждая подпоследовательность упорядочена. Затем упорядоченные последующие последствия объединяются в общую упорядоченную последовательность.
Сортировка слияния - это эффективный алгоритм сортировки, основанный на операции слияния. Этот алгоритм является очень типичным применением разделения и завоевания. Объединить упорядоченные последующие последствия, чтобы получить полностью упорядоченную последовательность; то есть сделайте каждую последующую последовательность в первом порядке, а затем сделайте заказ сегментов последующих сегментов. Если два заказанные таблицы объединены в одну упорядоченную таблицу, это называется 2-й пустого слияния.