【FreeCodeCamp】面向对象及函数方法编程-245 回调函数详解

这篇博客详细介绍了JavaScript的reduce方法,它用于迭代数组并累积到一个值。回调函数作为reduce方法的核心,用于处理数组中的每个元素。博客内容包括问题描述、解决方案和问题解释,阐述了如何使用reduce进行数组运算,以及回调函数的概念和主要用途。
摘要由CSDN通过智能技术生成

[245 Condense arrays with reduce

问题链接:https://www.freecodecamp.cn/challenges/condense-arrays-with-reduce
参考链接:JavaScript Array reduce() 方法

Reduce方法迭代数组

1.问题描述

数组方法 reduce 用来迭代一个数组,并且把它累积到一个值中。

使用 reduce 方法时,你要传入一个回调函数,这个回调函数的参数是一个 累加器 (比如例子中的 previousVal) 和当前值 (currentVal)。

reduce 方法有一个可选的第二参数,它可以被用来设置累加器的初始值。如果没有在这定义初始值,那么初始值将变成数组中的第一项,而 currentVal 将从数组的第二项开始。

下面的例子使用了 reduce 来让数组中的所有值相减:

    var singleVal = array.reduce(function(previousVal, currentVal) {
      return previousVal + currentVal;
    }, 0);

使用 reduce 方法来让 array 中的所有值相加,并且把结果赋值给 singleVal


2.解决方案

    var array = [4,5,6,7,8];
var singleVal = 0;

// 只能在这一行下面写代码

singleVal = array.reduce(function(previousVal, currentVal) {
  return previousVal + currentVal;}, 0);


3.问题解释

  1. 回调函数

A callback is a function that is passed as an argument to another function and is executed after its parent function has completed。

字面理解回调就是一个作为实参传入另一函数的函数,会在父函数执行完成后再执行。

主要用途:目前主要用于耗时操作,比如ajax请求或者文件处理等

  1. Reduce方法解释
  • reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
  • reduce() 可以作为一个高阶函数,用于函数的 compose
  • reduce() 对于空数组是不会执行回调函数的。
  1. 参数说明
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
  • total
    必须、初始值或者计算结束后的返回累计值
  • currentValue
    必须、当前元素值
  • index
    可选、当前元素索引
  • arr
    可选、当前元素所属的数组对象
  • initialValue
    可选、传递给函数的初始值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值