Javascript新特性:數組的擴充

來源:互聯網
上載者:User

在ECMAScript5中,為Array對象引入了一些新方法,下面簡單列出:

項的定位:indexOf()/lastIndexOf():

<script type="text/javascript">var arr=[1,2,3,4,5,6,5,4,3,2,1];console.log(arr.indexOf(2));console.log(arr.lastIndexOf(2));</script>

這兩個方法均接受兩個參數:要尋找的項目以及可選的從何處開始尋找的索引。

迭代方法:

every()--------在數組的每個元素上運行給定函數,如果給定函數對每個項都返回true,則返回true

filter()---------在數組的每個元素上運行給定函數,並返回包含令給定函數返回true的那些元素

forEach()-----在數組的每個元素上運行給定函數,該方法沒有傳回值。

map()---------在數組的每個元素上運行給定函數並返回每次給定函數的傳回值組成的數組

some()--------在數組的每個元素上運行給定函數,如果給定函數在任意一個元素上返回true,則返回true.

這些方法都接受兩個參數:一個在各個項目上啟動並執行函數和一個可選的在哪裡運行函數的範圍對象。該函數接受三個參數:數組項目、數組項目在數組中的位置和數組對象自身。

<script type="text/javascript">var arr=[1,2,3,4,5,6,5,4,3,2,1];var result1=arr.every(function(item,index,array){return item>2});var result2=arr.filter(function(item,index,array){return item>2});var result3=arr.map(function(item,index,array){return item>2});var result4=arr.some(function(item,index,array){return item>2});arr.forEach(function(item,index,array){console.log(item+=2);});console.log(result1);console.log(result2);console.log(result3);console.log(result4);console.log(arr);</script>

在這些方法中,最相似的兩個就是every()和some()了,他們都查詢手足是否匹配某個條件。對於every(),傳入的函數必須對每個參數都返回true,方法才能都返回true,否則,它返回false。相反,some()只要有哪怕一個元素讓傳入的參數返回true,則返回true.

forEach()沒有傳回值,基本上等同於for迴圈迭代一個數組。

相關文章

聯繫我們

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