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]
相关文章
相关标签/搜索