高程5.2.8迭代方法

來源:互聯網
上載者:User

標籤:

ECMAScript5為數組定義了5個迭代方法:every(),filter(),forEach(),map(),some()

每個方法都接收兩個參數:要在每一項上啟動並執行函數 和 (可選的)運行該函數的範圍對象-影響this的值 .

傳入這些方法中的函數會接收三個參數:數組項的值,該項在數組中的位置和數組對象本身.

根據使用的方法不同,這個函數執行後的傳回值可能會也可能不會影響方法的傳回值.

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title>    <script>    var numbers=[1,2,3,4,5,4,3,2,1];    //關於every(),每一項為true,才返回true    var everyResult=numbers.every(function(item,index,array){//function傳入三個參數,數組項的值item,該項在數組中的位置index,數組對象本身array        return (item>2);    });    console.log(everyResult);//false    //關於some(),有一項為true,就返回true    var someResult=numbers.some(function(item,index,array){        return (item>2);    });    console.log(someResult);//true    //關於filter(),返回function函數裡每項為true組成的數組    var filterResult=numbers.filter(function(item,index,array){        return (item>2);    });    console.log(filterResult);//[3,4,5,4,3]    //關於map(),返回的是function調用後結果組成的數組    var mapResult1=numbers.map(function(item,index,array){        return item*2;    });    console.log(mapResult1);//[2,4,6,8,10,8,6,4,2]    var mapResult2=numbers.map(function(item,index,array){        return 1;    });    console.log(mapResult2);//[1,1,1,1,1,1,1,1,1]    //關於forEach(),它只是對數組中每一項運行傳入的函數,這個方法沒有傳回值,本質上與使用for迴圈迭代數組一樣    numbers.forEach(function(item,index,array){        //執行某些操作,例如        console.log(item);//輸出時是迴圈每一項輸出值換行輸出下一項值    });    </script></head><body>    </body></html>

高程5.2.8迭代方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.