jquery中map函数与each函数的区别

?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函数的区别,布布扣,bubuko.com

时间: 2024-08-24 03:40:28

jquery中map函数与each函数的区别的相关文章

jQuery中提供的三个函数:map,each,trim

jQuery中提供的三个函数: map,each,trim $.map(arry,callback(element,index)); 对于数组array中的每个元素,调用callback()函数,最终返回一个新的数组.原数组不变. 源码 // arg is for internal usage only map: function( elems, callback, arg ) { var length, value, i = 0, ret = []; // Go through the arr

不能调用jquery中ready里面定义的函数?

现象:不能调用jquery中ready里面定义的函数 源码:<script type="text/javascript"> $(document).ready(function(e) { function test(){ alert('test!'); } }); test(); // 报错,test()未定义 </script> 解析:ready也相当于一个函数,即新建一局部函数作用域,外面 当然不可用.和js的onload函数差不多,就比如 function

JavaScript学习笔记——jquery中html()、text()、val()的区别

.html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改表单元素的value值. 这三个方法功能上的对比 .html(),.text(),.val()三种方法都是用来读取选定元素的内容:只不过.html()是用来读取元素的HTML内容(包括其Html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值.其中.和.text()方法不能使用在表单元素上,而.val()

jQuery中hover与mouseover和mouseout的区别分析

本文实例分析了jQuery中hover与mouseover和mouseout的区别.分享给大家供大家参考,具体如下: 以前一直以为在jquery中其实mouseover和mouseout两个事件等于hover事件.两个没什么区别,应该是一样的.但昨天一个动画效果才让我见识了,这两个并不能等同. <div class="wrapper"> <div class="img"></div> <div class="tex

jQuery中关于height,innerWidth与outerWidth的区别

jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度(不包括内边距.边框或外边距). height() 方法设置或返回元素的高度(不包括内边距.边框或外边距). jQuery innerWidth() 和 innerHeight() 方法 innerWidth() 方法返回元素的宽度(包括内边距). innerHeight() 方法返回元素的高度(包括内边距). 公式为height()+padding*2 jQuery outerWidth() 和

jquery中prop()方法和attr()方法的区别

jquery1.6中新加了一个方法prop(),一直没用过它,官方解释只有一句话:获取在匹配的元素集中的第一个元素的属性值. 大家都知道有的浏览器只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked",比如用attr("checked")获取checkbox的checked属性时选中的时候可以取到值,值为"checked"但没选中获取值就是un

学习JQuery中文文档之get()函数

前端大神群的群主告诉我们:学习一个框架最好的方法是去把官方文档研究一遍. 现在正式开始我的前端之路,从JQuery的中文文档开始. 基础不牢固,看起来有点慢,但是我会一直坚持下去的.把遇到的问题都记录在此,以便随时查阅. 不展示基础概述,只记录所遇问题. Just Do It! Never Give Up! get()函数 看完这个函数的定义,我就兴冲冲的去试验了一下,写了以下代码: 1 <!DOCTYPE html> 2 <html lang="en"> 3

说出JQuery中常见的几种函数以及他们的含义是什么?

jQuery中常见的函数如下:  (1)get()取得所有匹配的DOM元素集合. (2)get(index)取得其中一个匹配的元素.index表示取得第几个匹配的元素. (3)append(content)向每个匹配的元素内部追加内容. (4)after(content)每个匹配的元素之后插入内容. (5)html()/html(var)取得或设置匹配元素的html内容. (6)find(expr)搜索所有与指定表达式匹配的元素. (7)bind(type,[data],fn)为每个匹配元素的特

jquery中attr方法和prop方法的区别

关于checked的属性,最重要的概念就是你要记住,它跟checked的状态值是毫无关系的,设置checked = "checked"或者checked = "true"等属性设置,和它的状态值true/false是无关的.,而这里的属性值,事实上只是和defaultChecked的状态值有关,并且只能用来设置checkbox的初始的值.checked的属性值并不会随着checkbox的的状态变化而变化,可是checkbox的状态值却会.因此,为了能更好的跨浏览器的