js--高階函數學習

1.高階函數:一個函數就能夠接收另外一個函數做爲參數,這種函數就稱之爲高階函數。函數

  • ** map/reduce**
function power(x){
  return x*x;
}

var arr = [1,3,5,9];
var result = arr.map(power);
console.log(result);
  • educe的用法。Array的reduce()把一個函數做用在這個Array的[x1, x2, x3...]上,這個函數必須接收兩個參數,reduce()把結果繼續和序列的下一個元素作累積計算.
[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)

var arr = [1,3,5,7,9];
var result_sum = arr.reduce(function(x, y){
  return x+y;
});
console.log(result_sum);

var result = arr.reduce(function(x, y){
  return x*10+y;
});
console.log(result);
var str = '123456';
function string2int(str){
  
  var toInt = str.split('').map(function(ch){
    return ch - '0';
  }).reduce(function(x, y){
    return x*10 + y;
  });
  
  return toInt;
  
}
string2int(str);
  • filter filter也是一個經常使用的操做,它用於把Array的某些元素過濾掉,而後返回剩下的元素。
var arr = [1, 2, 4, 5, 6, 9, 10, 15];
var r = arr.filter(function (x) {
    return x % 2 !== 0;
});
r; // [1, 5, 9, 15]
相關文章
相關標籤/搜索