美文网首页
JS之JQ的map/reduce/filter/sort/rev

JS之JQ的map/reduce/filter/sort/rev

作者: yoosir | 来源:发表于2017-02-12 16:53 被阅读0次

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

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

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

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

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

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

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

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

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

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

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

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

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

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

newArray = oldArray.concat(otherArray);

相关文章

网友评论

      本文标题:JS之JQ的map/reduce/filter/sort/rev

      本文链接:https://www.haomeiwen.com/subject/jgpaittx.html