$.map与$.each的区分

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]

map也能够用来删除数组中的一项

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]

map中this是不会映照的,所以要在返回函数中加参数。注重的是map中的参数和each中的参数是相反的。

map(arr, function(elem, index) {});
// versus 
each(arr, function(index, elem) {});
    原文作者:candice
    原文地址: https://segmentfault.com/a/1190000004488769
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞