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 是遍历数组,根据条件筛选 得出一个新数组get

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

newArray : 1,2,3io

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

 

 

sort 能够把比较函数做为参数传入。比较函数有返回值,当 a 小于 b,返回一个负数;当 a 大于 b ,返回一个正数;相等时返回0。遍历

若是没有传入比较函数,它将把值所有转成字符串,并按照字母顺序进行排序。map

下面的例子将展现 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》

来源:简书

相关文章
相关标签/搜索