javascript中array的map方法的使用


場景:

  你有一個數組,你想對數組中的每個元素做點事情

例如:

  你有一個數組:[1,2,3,4,5,6,7],你想輸出這個數組的每個元素的立方

  一種方法是遍歷這個數組,做立方計算后賦給新的數組,像下面這樣:

 1 'use strict';
 2 function mySquare(arg){
 3     // return arg * arg * arg;
 4  return Math.pow(arg,3);
 5 } 
 6 var myArr = [1,2,3,4,5,6,7];
 7 var myNewArr = [];
 8 for(var i in myArr){
 9     myNewArr[i] = mySquare(myArr[i]);
10 }
11 console.log(myNewArr);

但如果用map方法,將更加簡便,像下面這樣:

1 'use strict';
2 function mySquare(arg){
3     // return arg * arg * arg;
4     return Math.pow(arg,3);
5 } 
6 var myArr = [1,2,3,4,5,6,7];
7 var myNewArr = myArr.map(mySquare);
8 console.log(myNewArr);

是不是很方便!

map方法的定義如下:

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

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

  map() 不會對空數組進行檢測

  map() 不會改變原始數組

map語法:

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

  參數說明:

    function(currentValue, index,arr)  必須。函數,數組中的每個元素都會執行這個函數

        函數參數:

            currentValue  必須。當前元素的值

            index  可選。當期元素的索引值

            arr  可選。當期元素屬於的數組對象

    thisValue  可選。對象作為該執行回調時使用,傳遞給函數,用作 "this" 的值。如果省略了 thisValue ,"this" 的值為 "undefined"

map方法還可以做很多事情:

比如,將數組元素轉換成字符串:

1 'use strict';
2 var myArr = [1,2,3,4,5,6,7];
3 var myNewArr = myArr.map(String);
4 console.log(myNewArr);

發揮你的想象,一切皆有可能!

 


免責聲明!

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



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