当前位置: 首页 > 工具软件 > jquery.map > 使用案例 >

jQuery 遍历 - map() 方法

孙恩
2023-12-01

首先是普通的数组(索引为整数的数组):

 1 //$.map(arr,fn);
 2 //对数组中的每个元素调用fn函数逐个进行处理,fn函数将处理返回最后得到的一个新的数组
 3 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
 4 var newarr = $.map(arr, function (item) { return item * 2 });
 5 alert(newarr);
 6 //$.each(array,fn)对数组array每个元素调用fn函数进行处理,没有返回值
 7 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
 8 $.each(arr, function (key, value) { alert("key:" + key + "value:" + value); });
 9 //还可以省略function的参数,这个时候this可以得到遍历的当前元素的值
10 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1];
11 $.each(arr, function () { alert(this); });

首先是普通的数组(索引为整数的数组):

1 //然后是索引为字符串的 键值对数组,针对这类数组,
2 // 一般采用$.each(array,fn)来操作:
3 //当然也可以使用无参的的function进行遍历;
4 var arr = { "jim": "11", "tom": "12", "lilei": "13" };
5 $.each(arr, function (key, value) { alert("姓名:" + key + "年龄:" + value); });

前些天记录了java中for循环取map,发现用jquery的each一样可以取map(我称之为js的map,不要较劲),且顺序和map中顺序一致。废话少说,看代码

?
1
2
3
4
5
6
7
8
9
10
11
var  map = {
     地名: [ "北京" , "天津" , "上海" ],
     民族: [ "汉族" , "藏族" , "维吾尔族" ]
};
 
$.each(map, function (key,values){
     console.log(key);
     $(values).each( function (){
         console.log( "\t"  + this );
     });
});

如果安装了firebug,控制台输出如下树状结构: 地名    北京    天津    上海  民族    汉族    藏族    维吾尔族  注意:jquery中的$().each和$.each的区别,前者只能遍历数组,后者可以遍历数组和对象 

实例:

$("#idGrads").html($.map(colors, function(x,i){ return "<div id=cl_" + i + " style='background:rgb(" + x.join(",") + ")'></div>"; }).join(""));

 类似资料: