JavaScript中的map方法


  假設有一個函數f(x)=x²;作用在一個數組[1,2,3,4,5,6,7,8,9],通常我們會用遍歷的方法來實現。  

function f(x){
  return x * x;   
}

var arr = [1,2,3,4,5,6,7,8,9];
var result = [];
for(var i=0; i<arr.length; i++){
  result.push(f(arr[i]))   
}

  這樣的確可以實現,但我們有更優雅的實現。

function f(x) {
    return x * x;
}

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.map(f); // [1, 4, 9, 16, 25, 36, 49, 64, 81]

  map()方法定義在JavaScript的Array中,我們調用Array的map()方法,傳入我們自己的函數,就得到一個新的Array作為結果。map傳入的參數時f,即函數本身。

  所以,map()作為高階函數,事實上它把運算規則抽象了。因此我們不光可以用來計算簡單的f(x)=x²,還可以計算任意復雜度的函數,比如將數組的所有數字轉化為字符串:

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.map(String); // ['1', '2', '3', '4', '5', '6', '7', '8', '9']

 


免責聲明!

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



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