美文网首页
JavaScript Array中高阶函数的使用

JavaScript Array中高阶函数的使用

作者: 豆浆的铲屎官 | 来源:发表于2018-11-22 13:21 被阅读0次

迭代方法

ECMAScript 5 为数组定义了 5 个迭代方法,每个方法都接受2个参数:要在数组每一项运行的函数和运行该函数的作用域对象——影响 this 的值(可选);传入这些方法的函数接受3个值:数组项的值(item),该值的索引(index)以及该数组对象本身(array);

1、every()

对数组的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true;

var arr=[-1,0,1,2,3];
//判断数组是不是全部都是正数
var result=arr.every(function(item,index,array){
      return item>0;
})
result;//false

2、filter() 过滤

返回运行给定函数为true的新数组;

var arr=[-1,0,1,2,3];
//返回正数
var arr1=arr.filter(function(item,index,array){
   return item>0;
})
arr1;

3、forEach()

循环每一项执行指定操作,和for...in..、for(var i=0;i<arr.length;i++){}一样;

var arr=[-1,0,1,2,3];
arr.forEach(function(item,index,array){
     console.log(item);
})

4、map()

对数组中的每一项运行给定函数,返回每次函数调用的结果组成的新数组。

var arr=[-1,0,1,2,3];
var result= arr.map(function(item,index,array){
   return item*10;
})
result; //[-10,0,10,20,30]

5、some()

和every()类似,不同的是,只要数组项有一个返回true,则结果为true;

var arr=[-1,0,1,2,3];
//判断数组是否存在正数
var result=arr.some(function(item,index,array){
      return item>0;
})
result;//true

归并方法

ECMAScript 5 为数组定义了 2 个归并方法,reduce()和 reduceRight()。它的函数接受4个值,前一个项(prev),当前项(cur),当前项的索引(index),数组对象本身(array);而reduceRight()则从数组的最后一项开始,向前遍历到第一项。

reduce、reduceRight()

var arr=[1,2,3,4,5];
var result=arr.reduce(function(prev,cur,index,array){
  return prev+cur;
})
result; //15 
var result1=arr.reduceRight(function(prev,cur,index,array){
  return prev+cur;
})

result;//15;

上述方法的的函数,在支持ES6的环境里,我更喜欢采用箭头函数=>,如:

var arr=[1,2,3,4,5];
arr.forEach((item,index,array)=>{
    console.log(item);
})
//当然实际应用中,有可能只需要数组的值;则简写为:
arr.forEach(item=>{
  console.log(item);
})

相关文章

  • JavaScript Array中高阶函数的使用

    迭代方法 ECMAScript 5 为数组定义了 5 个迭代方法,每个方法都接受2个参数:要在数组每一项运行的函数...

  • Javascript学习笔记-underscore

    JavaScript是函数式编程语言,支持高阶函数和闭包。你会发现Array有map()和filter()方法,而...

  • Swift中Array高阶函数的使用

    前言 在Swift中,有关于Array的高阶函数。这一点和JavaScript是一样的。也就是说,Swift也是支...

  • JavaScript 高阶函数

    高阶函数是将函数作为参数或返回函数的函数。 之所以可以使用 JavaScript 编写高阶函数,是因为函数是值,这...

  • 高阶函数(一)reduce的理解和使用

    要学习函数式编程,首先得学会使用高阶函数,javascript的函数的参数可以是另一个函数,这种函数被称为高阶函数...

  • map / reduce(方法)

    map-数组高阶方法 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方...

  • JavaScript 高阶函数浅析

    高阶函数 在 JavaScript 中,函数是一种特殊类型的对象,它们是 Function objects。高阶函...

  • 高阶组件

    高阶函数:接受一个或多个函数并返回一个函数 JS中,array的map、filter、reduce等方法就是高阶函...

  • js数组方法大全

    javascript 中创建数组有两种方式 使用 Array 构造函数: 使用数组字面量表示法: 数组的方法 数组...

  • js数组方法大全

    JavaScript中创建数组有两种方式 (一)使用 Array 构造函数: (二)使用数组字面量表示法: 数组的...

网友评论

      本文标题:JavaScript Array中高阶函数的使用

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