美文网首页海纳百川
数组遍历方法的区别

数组遍历方法的区别

作者: 凛冬已至_123 | 来源:发表于2018-09-12 19:11 被阅读0次

    区分一下数组遍历方法

    • forEach
    var arr = [1,2,3,4,5]
    var value = arr.forEach(function(item,index,input){
        console.log(item)//1|2|3|4|5 为数组每项的值
        console.log(index)//0|1|2|3|4 为数组的下标
        input[index] = item*item//input是原数组
        console.log(input)
        })
    console.log(value)// undefined 返回值为undefined
    console.log(arr) // [1, 4, 9, 16, 25]
    
    • map
    var arr = [1,2,3,4,5]
    var value = arr.map(function(item,index,input){
        console.log(item)//1|2|3|4|5 为数组每项的值
        console.log(index)//0|1|2|3|4 为数组的下标
        input[index] = item*item//input是原数组
        console.log(input)
        return input[index]+1
        })
    console.log(value)// [2, 5, 10, 17, 26]
    console.log(arr) // [1, 4, 9, 16, 25]
    // 可以看出map与forEach的区别在于,每次遍历的返回值会组成和原数组类似结构的数组
    
    
    • juqery-each/map
    $( "li" ).each(function( index , e) {
      console.log( index + ":" + $(e).text() );
    });
    /*"0:2"
      "1:3"
      "2:4"*/
    
    var obj = {
      "flammable": "inflammable",
      "duh": "no duh"
    };
    $.each( obj, function( key, value ) {
      alert( key + ": " + value );
    });//"flammable: inflammable" "duh: no duh"
    
    let value = $('li').map(function(i, ele){
        console.log(i)//0|1|2
        console.log($(ele)[0].id)// e|d|f
        return $(ele).id
    })
    
    console.log(value)
    

    相关文章

      网友评论

        本文标题:数组遍历方法的区别

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