• js数组的forEach与map方法


    数组对象的作用是:使用单独的变量名来存储一系列的值。
     
    我们今天来说一下数组的forEach与map方法
    • forEach 用于调用数组的每个元素
    • map 返回一个与原数组长度相等的新数组 
    1、forEach() 
     
    forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
    注意: forEach() 对于空数组是不会执行回调函数的
    参数:function(currentValue, index, arr)
    • currentValue   必需。当前元素
    • index      可选。当前元素的索引值。
    • arr       可选。当前元素所属的数组对象。 
     
    1)使用forEach遍历数组
    1 var arr=[1,2,3,4,5,6,7];
    2 arr.forEach(function(a,b,c){
    3      console.log(a,b,c);
    4 })
    打印结果:如下
     
     2)使用forEach可以跳过空元素
    1 var arr = [1, 2, 3, 5, , 6, 7, 8, 9];
    2 arr.forEach(function(item, index) {
    3     console.log(item, index);
    4 })
    打印结果,如下
    3)使用forEach复制数组的方法 (全部复制,不跳过空元素,)
    1 var arr = [2, 4, 6, , 8, 3, 2];
    2 var arr1 = [];
    3 arr.forEach(function(item, index) {
    4     arr1[index] = item;
    5 })
    6 console.log(arr1);
    打印结果:如下
     
    2、map()
     
    map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
    map() 方法按照原始数组元素顺序依次处理元素。
    注意: map() 不会对空数组进行检测。
    注意: map() 不会改变原始数组。
     
    参数:function(currentValue, index, arr)
    • currentValue   必需。当前元素
    • index         可选。当前元素的索引值。
    • arr             可选。当前元素所属的数组对象。 
    1)遍历数组 ----- map会返回一个与原数组长度相等的新数组
    1 var arr = [3, 5, 7, 9, , 1, 2, 4];
    2 var arr2 = arr.map(function(item, index, arr) {
    3     console.log(item, index, arr);
    4 });
    打印结果:如下
    2)在map中使用return 就是在对应的下标中添加对应的数据
    例1:
    1 var arr = [3, 5, 7, 9, , 1, 2, 4];
    2 var arr2 = arr.map(function(item, index, arr) {
    3     // 在map中使用return 就是在对应的下标中添加对应的数据
    4     return "a";
    5 });
    6 console.log(arr2);
    打印结果:如下
    例2:
    1 var arr = [3, 5, 7, 9, , 1, 2, 4];
    2 var arr3 = arr.map(function(item, index, arr) {
    3     // 在map中使用return 就是在对应的下标中添加对应的数据
    4     return item + 10;
    5 });
    6 console.log(arr3);

    打印结果:如下

    3、forEach() 和 map() 两者区别 
     
     1) forEach()返回值是undefined,不可以链式调用。
    1 var arr = [1, 2, 3, 4, 5, , 7, 8, 9];
    2 var arr1 = arr.forEach(function(item, index, arr) {
    3     // 使用return无效
    4     return arr1; //undefined
    5 });
    6 console.log(arr1);
    打印结果:如下
     
    2) map()返回一个新数组,原数组不会改变。
    1 var arr = [1, 3, 5, 7, 2, 4, 6, 8];
    2 var arr1 = arr.map(function(item) {
    3     if (item > 4) {
    4         return item;
    5     }
    6 });
    7 console.log(arr);
    8 console.log(arr1);
    打印结果:如下
     
     
     

  • 相关阅读:
    UIWindow与UIView
    UIView与CALayer 区别
    setter getter 方法
    KVC、KVO 理解
    c语言实现单链表
    浅谈C的应用与常见error
    POJ 3683 Priest John's Busiest Day(2-SAT+方案输出)
    Google Code Jam 2008 Round 1A C Numbers(矩阵快速幂+化简方程,好题)
    POJ 3686 The Windy's(思维+费用流好题)
    POJ 2686 Traveling by Stagecoach(状压二维SPFA)
  • 原文地址:https://www.cnblogs.com/moon-lee/p/12592796.html
Copyright © 2020-2023  润新知