JavaScript中循環(huán)遍歷Array與Map的方法小結(jié)

字號:


    這篇文章主要介紹了JavaScript中循環(huán)遍歷Array與Map的各種方法,利用的都是js入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    js循環(huán)數(shù)組各種方法
    eg1:
    for (var i = 0; i < myStringArray.length; i++) { 
     alert(myStringArray[i]); 
     //Do something 
    } 
    eg2:
    Array.prototype.foo = "foo!"; 
    var array = ['a', 'b', 'c']; 
    for (var i in array) { 
     alert(array[i]); 
    } 
    for(var i in this.$GLOBAL_DETAIL.album_photo_ids){if(this.$GLOBAL_DETAIL.album_photo_ids[i] == "3487675024077108") alert(this.$GLOBAL_DETAIL.album_photo_ids[i]);} 
    eg3:
    [1,2,3,4].map( function(item) { 
       alert(item); 
    }) 
    eg4:
    var x = [1,2,3,4].map( function(item) { return item * 10; } ); 
    // And now x is [10,20,30,40] 
    eg5:
    var myStringArray = [ "Hello", "World" ] 
    var len = myStringArray.length 
    for (var i=0; i<len; ++i) { 
     if (i in myStringArray) { 
     var s = myStringArray[i]; 
     ... do something with s ... 
     } 
    } 
    eg6:
    var myStringArray = [ "Hello", "World" ] 
    myStringArray.forEach( function(s) { 
      ... do something with s ... 
    } ) 
    eg7:
    var i=0,item,items = ['one','two','three']; 
    while(item=items[i++]){ 
     console.log(item); 
    } 
    // logs: 'one','two','three' 
    and for the reverse order, an even more efficient loop 
    var items = ['one','two','three'], i=items.length; 
    while(i--){ 
     console.log(items[i]); 
    } 
    // logs: 'three','two','one' 
    or the classical for loop 
    var items = ['one','two','three'] 
    for(var i=0,l=items.length; i < l ; i++){ 
     console.log(items[i]); 
    } 
    // logs: 'one','two','three' 
    eg8:
    var myStringArray = ['Hello', 'World']; // array uses [] not {} 
    for (var i in myStringArray) { 
     console.log(i + ' -> ' + myStringArray[i]); // i is the index/key, not the item 
    } 
    js循環(huán)map,獲取所有的key和value
    eg1:
    //Page地址 
     pageUrl : { 
      menu   : "loadPage.htm?url=/collect/menu.page",   // 進入菜單頁面 
      guangfaPage  : "loadPage.htm?url=/collect/menu.page",   // 進入廣發(fā)信息收集頁面 
      pinganPage  : "loadPage.htm?url=/collect/menu.page",   // 進入平安信息收集頁面 
      nuonuoPage  : "loadPage.htm?url=/collect/menu.page",   // 進入諾諾信息收集頁面 
      youbangPage  : "loadPage.htm?url=/collect/menu.page",   // 進入友邦信息收集頁面 
      inputMobileNo : "loadPage.htm?url=/collect/inputMobileNo.page", // 進入輸入手機號頁面 
      readIdCard  : "loadPage.htm?url=/collect/readIdCard.page",  // 進入讀取身份證頁面 
      member   : "loadPage.htm?url=/collect/member.page",   // 進入輸入會員卡號頁面 
      bankCard  : "loadPage.htm?url=/collect/bankCard.page",   // 進入插入銀行卡頁面 
      url   : "loadPage.htm?url=/collect/url.page"    // 進入跳轉(zhuǎn)url頁面 
     }, 
    for(var key in this.pageUrl){ 
     alert(key+" : "+this.pageUrl[key]); 
    } 
    eg2:
    var obj = { 
     "a": 1, 
     "b": 2, 
     "c": 3 
    }; 
    for (var prop in obj) { 
     if (obj.hasOwnProperty(prop)) { 
     // or if (Object.prototype.hasOwnProperty.call(obj,prop)) for safety... 
     alert("prop: " + prop + " value: " + obj[prop]) 
     } 
    } 
    雙重Map循環(huán) 
    eg:
    var msg = ""; 
    for(var key in Pin) { 
     for(var i in Pin[key]){ 
     msg+=i+": "+Pin[key][i]+"\n"; 
     } 
    } 
    alert(msg);