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》

來源:簡書

相關文章
相關標籤/搜索