zoukankan      html  css  js  c++  java
  • 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);

    发挥你的想象,一切皆有可能!

  • 相关阅读:
    Android ContentProvider和getContentResolver
    onContextItemSelected 用法
    Android 控件 之 Menu 菜单
    Android
    Android Cursor类的概念和用法
    android SQLiteOpenHelper使用示例
    JAVA HashMap详细介绍和示例
    HashMap深度解析(二)
    HashMap深度解析(一)
    使用svn遇到的问题---(在编辑器没有配置svn的前提下)
  • 原文地址:https://www.cnblogs.com/liyunfei0103/p/7447922.html
Copyright © 2011-2022 走看看