JQ的map/reduce/filter/sort/reverse

map 是遍历数组,并返回一个新数组.

  1. oldArray = [1,2,3,4,5,6];
  2. newArray = oldArray.map(function(val,index){
  3.   return val + 3;
  4. });

newArray :   4,5,6,7,8,9

reduce 是遍历数组,把所有元素组合到一起:

  1. oldArray = [1,2,3,4,5,6];
  2. sum = oldArray.reduce(function(preVal,curVal){
  3.   return preVal + curVal;
  4. });

sum : 21

filter 是遍历数组,根据条件筛选 得出一个新数组

  1. oldArray = [1,2,3,4,5,6];
  2. newArray = oldArray.filter(function(val){
  3.   return val < 4;
  4. });

newArray : 1,2,3

与我们之前用的数组方法仅仅返回一个新数组不同, sort 方法将改变原数组,返回被排序后的数组。
默认 :按字母顺序或数字顺序对数组中的元素进行排序。

sort 可以把比较函数作为参数传入。比较函数有返回值,当 a 小于 b,返回一个负数;当 a 大于 b ,返回一个正数;相等时返回0。

如果没有传入比较函数,它将把值全部转成字符串,并按照字母顺序进行排序。

下面的例子将展示 sort 的使用,传入的比较函数把元素按照从小到大的顺序进行排列:

  1. var array = [1, 12, 21, 2];
  2. array.sort(function(a, b) {
  3.   return a - b;
  4. });

reverse 对数组进行反转,对元素组操作,返回反转后的数组。

  1. var array = [1, 2,3,4,5];
  2. var newArray = [];
  3. newArray = array.reverse();

array : 5,4,3,2,1

newArray: 5,4,3,2,1

concat 方法可以用来把两个数组的内容合并到一个数组中。
concat 方法的参数应该是一个数组。参数中的数组会拼接在原数组的后面,并作为一个新数组返回。
下面是一个拼接数组的例子,用concat 把 otherArray 拼接在 oldArray 的后面:

  1. newArray = oldArray.concat(otherArray);

链接:yoosir 的文章《JS之JQ的map/reduce/filter/sort/reverse》

来源:简书

猜你喜欢

转载自www.cnblogs.com/srbc/p/9364473.html
今日推荐