这篇文章主要介绍了 JavaScript 中循环遍历 Array 与 Map 的各种方法, 利用的都是 js 入门学习中的基础知识, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
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);
来源: http://www.phperz.com/article/17/0219/266712.html