jquery中map函数与each函数的区别实例介绍_jquery

​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后果还是蛮严重的。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery
, map函数
each函数
jquery each实例、jquery each map、jquery map和each、jquery each遍历map、jquery tmpl each map,以便于您获取更多的相关知识。

时间: 2024-09-30 01:30:41

jquery中map函数与each函数的区别实例介绍_jquery的相关文章

jQuery中delegate与on的用法与区别示例介绍_jquery

在jQuery1.7中 .delegate()已被.on()取代.对于早期版本,它仍然使用事件委托的最有效手段. 在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的. .delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 复制代码 代码如下: // jQuery 1.4.3+ $( elements ).delegate( selector, events, data, handler ); // jQ

JQuery中的html()、text()、val()区别示例介绍_jquery

1.HTML html():取得第一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTML文档 html(val):设置每一个匹配元素的html内容.这个函数不能用于XML文档.但可以用于XHTML文档. 2.TEXT text():取得所有匹配元素的内容. 结果是由所有匹配元素包含的文本内容组合起来的文本.这个方法对HTML和XML文档都有效. text(val):设置所有匹配元素的文本内容 与 html() 类似, 但将编码 HTML (将 "<" 和 &

JQuery中使文本框获得焦点的方法实例分析_jquery

本文实例分析了JQuery中使文本框获得焦点的方法.分享给大家供大家参考.具体分析如下: 由于JQuery中获得的对象还是JQuery对象,对其使用focus()只是使该对象获得onFocus()函数,不能是对象获得焦点,所以要使对象获得焦点,应该调用DOM对象的focus 方法,即: $("#id")[0].focus(); 需要注意两个函数之间的区别: $("#id").focus(); $("#id")[0].focus(); 第一个是增加

Jquery中的层次选择器与find()的区别示例介绍

Jquery中的层次选择器与find()是有一定的区别,本文有个示例可以很好的说明,感兴趣的朋友可以参考下 代码如下: $("#anaylseBody tr").find("td:eq(" + $("#analyse th:contains(" + $(this).val() + ")").index() + ")").hide(); ("#anaylseBody tr") find作为

jQuery中delegate和on的用法与区别详细解析_jquery

在jQuery1.7中 .delegate()已被.on()取代.对于早期版本,它仍然使用事件委托的最有效手段.在事件绑定和委派,delegate()和on在一般情况下,这两种方法是等效的. .delegate() 指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数. 复制代码 代码如下: // jQuery 1.4.3+$( elements ).delegate( selector, events, data, handler );// jQuer

jquery中常用的SET和GET$(”#msg”).html循环介绍_jquery

复制代码 代码如下: $("#msg").html(); //返回id为msg的元素节点的html内容. $("#msg").html("new content"); //将"new content" 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content $("#msg").text(); //返回id为msg的元素节点的文本内容. $("#msg").t

Jquery中val()表单取值赋值的实例代码_jquery

jQuery提供了强大的val()方法来处理value相关操作.获得单个select的值和多选select的值. 复制代码 代码如下: HTML 代码:<p></p><br/><select id="single">  <option>Single</option>  <option>Single2</option></select><select id="mul

jQuery中事件对象e的事件冒泡用法示例介绍_jquery

之前查手册的时候没有看到有事件对象这一概念,当时我想实现的是点击一个文本框出现一个下拉多选框,在文本框失去焦点是触发blur事件,从而使下拉框隐藏起来.但是当我要选择多选框是也会使它隐藏,就不能进行选择了,这让我很郁闷.查了一天的资料,终于在脱离了焦点这一块.在网上发现有一个事件冒泡的东西,发现通过点击可以实现我的这一功能. e.stopPropagation()阻止事件冒泡 复制代码 代码如下: <head> <title></title> <script sr

jquery中邮箱地址 URL网站地址正则验证实例代码_jquery

email地址验证 复制代码 代码如下: function checkEmail(){    var email=$.trim($("#report_email").val());    if(email == ""){        $("#report_email").next('p').html("*请输入邮箱地址!");        return false;    }    var re = /^([a-zA-Z0