JavaScript中循环遍历Array与Map的方法小结
js循环数组各种方法
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循环map,获取所有的key和value
eg1:
//Page地址 pageUrl : { menu : "loadPage.htm?url=/collect/menu.page", // 进入菜单页面 guangfaPage : "loadPage.htm?url=/collect/menu.page", // 进入广发信息收集页面 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" // 进入跳转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循环
eg:
var msg = ""; for(var key in Pin) { for(var i in Pin[key]){ msg+=i+": "+Pin[key][i]+"\n"; } } alert(msg);
赞 (0)