淺談javascript 歸併方法,淺談javascript歸併

來源:互聯網
上載者:User

淺談javascript 歸併方法,淺談javascript歸併

ECMAScript5 還新增了2個歸併數組的方法:reduce()和reduceRight()。

 這兩個都會迭代數組的所有項
        reduce():從第一項開始逐個遍曆到最後。
        reduceRight():從數組的最後一項開始,遍曆到數組的第一項。

這兩個方法都接受兩個參數:在每一項上調用的函數(參數為:前一個值,當前值,項的索引,數組對象)

 這個函數返回的任何值鬥毆會作為第一個參數自動傳給下一項。第一次迭代發生在數組的第二項上,
         因此第一個參數是數組的第一項,第二個參數是數組的第二項
         和 作為歸併基礎的初始值。
        使用reduce()方法可以執行數組中所有值之和的操作,比如:

複製代碼 代碼如下:
        var values = [1, 2, 3, 4, 5];
        var sum = values.reduce(function (prev, cur, index, array) {
            return prev + cur;
        });
        alert(sum);
        //結果一樣,只是方向相反而已
        var sum2=values.reduceRight(function (prev,cur,index,array) {
            return prev+cur;
        });
        alert(sum2);

歸併排序(Merge sort)是建立在歸併操作上的一種有效排序演算法。該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。

歸併(Merge)排序法是將兩個(或兩個以上)有序表合并成一個新的有序表,即把待排序序列分為若干個子序列,每個子序列是有序的。然後再把有序子序列合并為整體有序序列。

歸併排序是建立在歸併操作上的一種有效排序演算法。該演算法是採用分治法(Divide and Conquer)的一個非常典型的應用。將已有序的子序列合并,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合并成一個有序表,稱為2-路歸併。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.