js 替代for 循環的一些東西


現在在javascript中幾乎所有的for循環都可以被map,filter,find,some,any,forEach等函數式編程取代。

1.0 JS中的map

定義和用法:

map() 方法返回一個新數組,數組中的元素為原始數組元素調用函數處理后的值。

map() 方法按照原始數組元素順序依次處理元素。

注意: map() 不會對空數組進行檢測。

注意: map() 不會改變原始數組。

語法:

array.map(function(currentValue,index,arr), thisValue)

demo:

var nums=[10,20,30];

     nums.map(function(value,index,arr){
         document.write( 'value值為:' +value);  //10 20 30
         document.write( 'index值為:' +index);  //0 1 2
         document.write( 'arr值為:' +arr);  //[10,20,30]
     })
2.0 js的filter

定義和用法

filter() 方法創建一個新的數組,新數組中的元素是通過檢查指定數組中符合條件的所有元素。

注意: filter() 不會對空數組進行檢測。

注意: filter() 不會改變原始數組。

 

 

語法

array.filter(function(currentValue,index,arr), thisValue)

 

 

3.0 find

 

 

定義和用法

find() 方法返回通過測試(函數內判斷)的數組的第一個元素的值。

find() 方法為數組中的每個元素都調用一次函數執行:

  • 當數組中的元素在測試條件時返回 true 時, find() 返回符合條件的元素,之后的值不會再調用執行函數。
  • 如果沒有符合條件的元素返回 undefined

注意: find() 對於空數組,函數是不會執行的。

注意: find() 並沒有改變數組的原始值。

語法

array.find(function(currentValue, index, arr),thisValue)

 

 

 
4.0 ,some, 用法跟3.0 一模一樣的
 
5.0 

Array every() 方法

,

 

定義和用法

every() 方法用於檢測數組所有元素是否都符合指定條件(通過函數提供)。

every() 方法使用指定函數檢測數組中的所有元素:

  • 如果數組中檢測到有一個元素不滿足,則整個表達式返回 false ,且剩余的元素不會再進行檢測。
  • 如果所有元素都滿足條件,則返回 true。

注意: every() 不會對空數組進行檢測。

注意: every() 不會改變原始數組。

 

語法

array.every(function(currentValue,index,arr), thisValue)

 

 

 
 
6.0 forEach
 

定義和用法

forEach() 方法用於調用數組的每個元素,並將元素傳遞給回調函數。

注意: forEach() 對於空數組是不會執行回調函數的。

語法

array.forEach(function(currentValue, index, arr), thisValue)

 

 

 
 
7.0 array的一些用法和方法
 
https://www.runoob.com/jsref/jsref-obj-array.html
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM