首页 > 编程 > JavaScript > 正文

JavaScript中循环遍历Array与Map的方法小结

2019-11-20 10:23:50
字体:
来源:转载
供稿:网友

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); 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表