Jquery 对Array处理的两个函数 $.map() 和 $.each()
来源:互联网 发布:霍建华林心如 知乎扒皮 编辑:程序博客网 时间:2024/06/14 04:16
对于普通的数组如 var arr=[1,3,5] 就用$.each(arr,function(){alert(this)}) 输出的结果就是数组元素的值,这个this就是指当前处理这个元素(key)的值(value)
对于字典dictionary风格的Array 如 var arr={"tom":20,"jeek":25,"jos":26} 就用$.each(arr , function(key,value){key+"的年龄是"+value})
<html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <script src="jquery-1.11.2.js"></script></head><body></body></html><script type="text/javascript"> //====================================$.map()============================================== var myArr = new Array(); //创建一个数组 //$.map(arr,fn(){})*****对arr数组调用fn函数进行处理,fn函数将处理结果返回,得到一个新的array(数组) //【注意:$.map()是有返还值的】$.map()不能处理字典风格的数组。 //将arr数组的每个元素乘以2后返回,得到到一个新array(数组),然后赋给arr2 var arr1 = [1, 2, 3]; var arr2 = $.map(arr1, function (i) { return i * 2 }); //i指的是当前遍历的数组的每一个元素 for (var j = 0; j < arr2.length; j++) { alert(arr2[j]); } //如果不用for循环,就直接用alert(arr2)也是可以输出arr2里每个元素的值的 alert(arr2); //输出 2,4,6, var arr3 = [5, 4, 6, 3, 8, 9, 1]; var arr4 = $.map(arr3, function (value, key) { // 第一个参数是表示值 第二个参数表示索引 (如果只写一个参数,那么这个参数就是指值) //alert(key); //输出: 0, 1, 2, 3, 4, 5, 6 //alert(value);//输出:5, 4, 6, 3, 8, 9, 1 if (value > 4 && key < 5) { return value; } }) alert(arr4); //输出:5,6,8 //====================================$.each()============================================== //$.each(arr,fn(){}) 对数组arr的每个元素调用fn函数进行处理,没有返回值。 //【注意$.each(),只是处理,没有返回值】 var arr5 = { "凡斌": 25, "黄雪辉": 22 } //以后处理Array推荐的用法,如果我想处理key,就取它的key就行了。如果想用value就取它的value就行了。很方便,也好记 $.each(arr5, function (key, value) { alert(key + "的年龄是" + value) }) //输出 凡斌的年龄是25;黄雪辉的年龄是22 var arr6 = [1, 2, 3]; //对arr4数组调用function函数进行处理,没有返回值。 $.each(arr6, function (key, value) { alert(key = value) })//输出的结果是1,2,3 $.each(arr6, function (key, value) { alert(key + "的值是" + value) })//输出的结果是:0的值是1;1的值是2;2的值是3 //--------------------------------------------关于处理函数function()的【参数个数】问题 //没有参数,没有参数就是输出的就是value,而不是key $.each(arr6, function () { alert(this) }); //this就是当前处理这个元素的值。输出的结果是1,2,3 //带两个参数的,前面一个参数就是arr4的是key,后面一个是arr4对应key的value $.each(arr6, function (itme, zhi) { alert(itme + "是" + zhi) }); //输出:0是1;0是2;2是3 这个itme其实就是arr4数组的key,这个zhi 就是数组的value //带一个参数的,这个参数实际上能就是arr4元素的key,而不是值 $.each(arr6, function (i) { alert(i) }); //所以这里输出的结果是 0,1,2 //====================================$.inArray()============================================ //$.inArray()是获取查找到元素的下标 与indexOf差不多 var arr7 = [5, 2, 9, 4, 11, 57, 89, 1, 23, 8]; var arrInArray = $.inArray(9, arr7); //获取9这个元素再arr7中的索引下标 【即:key】 alert(arrInArray); //打印出:2 注:下标从0开始 //例子:如果b数组中的元素在a数组中不存在,就将它添加到a数组中。(其实就是合并两个素组,让后对元素去重) var a = [1, 2, 3, 4, 6]; var b = [2, 4, 5, 7, 8]; $.each(b, function (key, val) { if ($.inArray(val, a) == -1) { //$.inArray(val,a)的作用是查找val这个元素再a数组中的下标 如果存在,那么它的返回值就是val这个元素在a数组中的下标,如果不存在就返回-1 a.push(val); //查看val这个元素是否在a数组中存在,如果不存在就将它添加到a数组中 } }) a.sort(); //将a数组进行排序 alert(a); //打印出:1,2,3,4,5,6,7,8 //====================================$.merge()============================================== //$.merge()合并两个数组 var c = [1, 2, 3, 4, 5, 6]; var d = [5, 6, 7, 8]; alert($.merge(c, d)); //打印出:1,2,3,4,5,6,5,6,7,8 (我们发现它仅仅是合并了两个数组而已) 其实它是将d这个数组并到了c数组里。所以这里打印出来的是c数组。</script>
0 0
- Jquery 对Array处理的两个函数 $.map() 和 $.each()
- Jquery对数组提供的两个函数$.map(arr,fn)和$.each(arr,fn)
- jQuery内置函数map和each的用法
- jQuery内置函数map和each的用法
- 详解jQuery内置函数map和each
- 详解jQuery内置函数map和each
- jquery $.each()遍历array,map等集合
- jquery中map函数与each函数的区别
- jQuery函数map()和each()介绍及异同点分析
- JQuery的$().each和$.each
- Jquery的ready和each函数解读
- jquery的each,map,has
- jQuery的each函数
- 基于jquery循环map功能的代码的$().each和$.each
- jQuery数组($.each,$.grep,$.map,$.merge,$.inArray,$.unique,$.makeArray)处理函数详解
- jQuery数组($.each,$.grep,$.map,$.merge,$.inArray,$.unique,$.makeArray)处理函数详解
- jQuery数组($.each,$.grep,$.map,$.merge,$.inArray,$.unique,$.makeArray)处理函数详解
- jQuery中map()方法和each()方法
- LeetCode:Add Two Numbers
- 牛顿法与拟牛顿法学习笔记(一)牛顿法
- C和指针
- Linux系列:Linux中如何安装.rpm、.tar、.tar.gz和tar.bz2文件
- 牛顿法与拟牛顿法学习笔记(二)拟牛顿条件
- Jquery 对Array处理的两个函数 $.map() 和 $.each()
- struts2基本配置详解
- poj 1601 青蛙的约会 扩展欧几里得定理应用
- 定制并发类(四)实现ThreadFactory接口生成自定义的线程
- android中dip、dp、px、sp和屏幕密度
- Java Bean 生成 Json格式的String
- 约书亚-摩西的好助手
- 安装Tomcat需要注意的问题
- maven学习记载