jQuery.map() 函数详解

来源:互联网 发布:淘宝直通车手机端位置 编辑:程序博客网 时间:2024/05/21 21:34

map()函数用于处理当前jQuery对象匹配的所有元素,并将处理结果封装为新的数组。返回封装该数组的jQuery对象。

该函数属于jQuery对象(实例)。

语法

jQuery 1.2 新增该函数。

jQueryObject.map( callback )

参数

参数描述callbackFunction类型指定的处理函数。

map()函数将根据匹配的所有元素遍历执行该函数,函数中的this将指向当前迭代的元素。map()还会为函数传入两个参数:第一个参数就是该元素在匹配元素中的索引,第二个参数就是该元素。

每次执行callback函数的返回值将作为结果数组中的一个元素,如果函数的返回值为nullundefined,则不会被添加到结果数组中。map()函数的返回值就是封装该结果数组的jQuery对象。

返回值

map()函数的返回值为jQuery类型,返回封装指定函数执行结果的数组的jQuery对象。

一般通过get()方法来获取jQuery对象中封装的整个数组或数组的某个元素。

示例&说明

以下面这段HTML代码为例:

<input id="n1" name="uid" type="checkbox" checked="checked" value="1"><input id="n2" name="uid" type="checkbox" checked="checked" value="2"><input id="n3" name="uid" type="checkbox" value="3"><input id="n4" name="uid" type="checkbox" checked="checked" value="4">

以下jQuery示例代码用于演示map()函数的具体用法:

var $checkedUid = $("[name=uid]:checked");// 将所有匹配元素的value值封装为结果数组,并返回封装了这个结果数组的jQuery对象var $result = $checkedUid.map( function(index, element){    // 函数内部的this === element    return this.value;  } );// 输出封装的结果数组中索引为1的元素document.writeln( $result.get( 1 ) ); // 2// 获取封装的整个结果数组var array = $result.get();document.writeln( array ); // 1,2,4

jquery中的each函数和map函数的用法看起来差不多,但其实还是有一点区别的。

其中一个重要的区别是,each返回的是原来的数组,并不会新创建一个数组。而map方法会返回一个新的数组。如果在没有必要的情况下使用map,则有可能造成内存浪费。

例如:

var items = [1,2,3,4]; $.each(items, function() { alert('this is ' + this); }); var newItems = $.map(items, function(i) { return i + 1; }); // newItems is [2,3,4,5]

使用each时,改变的还是原来的items数组,而使用map时,不改变items,只是新建一个新的数组。

例如:

var items = [0,1,2,3,4,5,6,7,8,9]; var itemsLessThanEqualFive = $.map(items, function(i) { // removes all items > 5 if (i > 5) return null; return i; }); // itemsLessThanEqualFive = [0,1,2,3,4,5]

当需要对数组进行删除时也是如此,所以删除时错误使用each或map后果还是蛮严重的。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 当照片p出竖条纹怎么办 月子里落下脚心怕风怕凉怎么办 鞋胶把手粘住了怎么办 凉鞋魔术贴长了怎么办 新买的狗一直叫怎么办 刚买的幼犬老叫怎么办 狗狗什么都不吃怎么办 新买的吊扇风小怎么办 夜市卖果汁没电怎么办 榻榻米太长2米45怎么办 木质桌子黏黏的怎么办 白色塑料桌子染色了怎么办 3dmax模型变透明了怎么办 刚养的兔子不吃怎么办 熊猫兔不吃下喝怎么办 熊猫兔感冒了一直打喷嚏怎么办 兔子后腿骨断了怎么办 兔子的腿肿了怎么办 仓鼠喝了牛奶该怎么办 宠物兔不吃不喝怎么办 兔子把木屑吃了怎么办? 小车司机碰瓷大车司机怎么办 在淘宝买到假的护肤品怎么办 淘宝购物发现是假的怎么办 电脑键盘灯不亮不能打字怎么办 海棠兔屁股有屎怎么办 大冒险告白被接受了怎么办剧透微博 大冒险被告白了怎么办 腐书网 大冒险告白被接受了怎么办 006 大冒险告白被接受了怎么办广播剧 coolpad手机解锁图案忘了怎么办 装死兔严重掉毛怎么办 兔子嘴巴磕破了怎么办 嘴巴里面摔烂了怎么办 兔子的鼻子损了怎么办 两个人嘴巴被粘牙糖粘住怎么办 小鸟被老鼠粘粘住了怎么办 小猫被老鼠粘粘住怎么办 羊子嘴巴烂了怎么办 小孩突然嘴肿了怎么办 电视机图像颜色变了 怎么办