美文网首页程序员
JavaScript第三章forEach循环第四课

JavaScript第三章forEach循环第四课

作者: 您好简书 | 来源:发表于2019-07-11 19:01 被阅读0次

    forEach是ES5中操作数组的一种方法,主要功能是遍历数组,例如:

    var arr = [1,2,3,4];
    arr.forEach(alert);
    等价于:

    var arr = [1, 2, 3, 4];
    for (var k = 0, length = arr.length; k < length; k++) {
    alert(array[k]);
    }
    forEach方法中的function回调有三个参数:第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组本身

    因此:

    [].forEach(function(value,index,array){

    //code something

    });

    等价于:

    $.each([],function(index,value,array){

    //code something

    })
      
    通过它,你可以遍历对象、数组的属性值并进行处理。

    使用说明

    each函数根据参数的类型实现的效果不完全一致:

    1、遍历对象(有附加参数)

    $.each(Object, function(p1, p2) {
    
         this;       //这里的this指向每次遍历中Object的当前属性值
    
         p1; p2;     //访问附加参数
    
    }, ['参数1', '参数2']);
    

    2、遍历数组(有附件参数)

    $.each(Array, function(p1, p2){
    
         this;       //这里的this指向每次遍历中Array的当前元素
    
         p1; p2;     //访问附加参数
    
    }, ['参数1', '参数2']);
    

    3、遍历对象(没有附加参数)

    $.each(Object, function(name, value) {
    
         this;      //this指向当前属性的值
    
         name;      //name表示Object当前属性的名称
    
         value;     //value表示Object当前属性的值
    
    });
    
     
    

    4、遍历数组(没有附加参数)

    $.each(Array, function(i, value) {
    
         this;      //this指向当前元素
    
         i;         //i表示Array当前下标
    
         value;     //value表示Array当前元素
    
    });
    

    下面提一下jQuery的each方法的几种常用的用法

    Js代码

     var arr = [ "one", "two", "three", "four"];     
     $.each(arr, function(){     
        alert(this);     
     });     
     
    

    //上面这个each输出的结果分别为:one,two,three,four

    var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]     
    $.each(arr1, function(i, item){     
       alert(item[0]);     
    });     
     
    
    //其实arr1为一个二维数组,item相当于取每一个一维数组,   
    //item[0]相对于取每一个一维数组里的第一个值   
    //所以上面这个each输出分别为:1   4   7     
      
      
    var obj = { one:1, two:2, three:3, four:4};     
    $.each(obj, function(key, val) {     
        alert(obj[key]);           
    });   
    //这个each就有更厉害了,能循环每一个属性     
    //输出结果为:1   2  3  4
    

    写一个例子;

    var arr = [1,2,3,4];
    arr.forEach(function(value,index,array){
        array[index] == value;    //结果为true
        sum+=value;  
        });
    console.log(sum);    //结果为 10
     
    

    map:map即是 “映射”的意思 用法与 forEach 相似,用法即:

    [].map(function(value,index,array){
     
      //code
     
    })
    

    1、forEach方法

    语法:

    array.forEach(function(currentValue, index, arr), thisValue)
    参数:

    在这里插入图片描述
    <!DOCTYPE html>
    <html lang="zh">
    
        <head>
            <meta charset="UTF-8" />
            <title>forEach方法</title>
        </head>
    
        <body>
            <script type="text/javascript">
            var num = [2,1,3];
            num.forEach(function(currentValue,index,arr){
                console.log("当前值:"+currentValue+"当前索引:"+index);
            });
            
            </script>
        </body>
    
    </html>
    
    

    相关文章

      网友评论

        本文标题:JavaScript第三章forEach循环第四课

        本文链接:https://www.haomeiwen.com/subject/facjkctx.html