资讯专栏INFORMATION COLUMN

11、TypeScript 之 Rest parameters

z2xy / 682人阅读

有些时候 我们并不确定函数参数的长度;

需求:

我想用实现一个数组内所有的元素相加,这里方便的使用了 reduce() 递归;

恰好 这个函数的参数我是不知道他的长度的;

稍微跑题一下,着重的说一下 reduce() 这个函数的用法:

arr.reduce(callback, initialValue)

callback 接收 4 个参数:

callback (执行数组中每个值的函数,包含四个参数)
    1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))
    2、currentValue (数组中当前被处理的元素)
    3、index (当前元素在数组中的索引)
    4、array (调用 reduce 的数组)
    initialValue (可选参数,函数的初始值)
arr.reduce((previousValue, currentValue, index, array) => {
     return previousValue + currentValue
}, [initialValue])

reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,reduce 中的 callback 接受四个参数:初始值(或者上一次回调函数的返回值),当前元素值,当前索引,调用 reduce 的数组。

了解了 reduce( ) 函数以后 我们可以穿一些简单的参数 来计算他的返回值了

const add = (num: number, arr: Array): number => {
     return arr.reduce((previousValue, currentValue, index, array) => {
      return previousValue + currentValue
     }, num)
};
const arr: Array = [1, 2, 3, 4];
let result = add(10, arr);
console.log(result);        //20

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104378.html

相关文章

  • 初入typescript笔记

    摘要:注意变量声明没有指定类型。因此,程序使用类型推断来确定变量的数据类型,第一次赋值为,设置为类型。 typescript 的基本类型1.number 数字类型 example: let val: Number = 22.string 字符串 example: let val: String = 23.Boolean 布尔类型 example: let val: Boolean = fal...

    fsmStudy 评论0 收藏0
  • 一文学懂 TypeScript 的类型

    摘要:如果属性的值不能是,那么它必须在构造函数中进行初始化。为带来了额外的层静态类型。类型检查可确保这些预测能够实现。元素不一定具有相同的类型。相反,在中,和由单独的不相交类型处理。类型存在于元级别。将传递给的构造函数。 翻译:疯狂的技术宅原文:http://2ality.com/2018/04/typ... 本文首发微信公众号:jingchengyideng欢迎关注,每天都给你推送新鲜...

    lucas 评论0 收藏0
  • 「每日一瞥

    摘要:即使中没有错误,仍然会执行,这一点一般都是知道的。我们认为这是正确的前进道路,兼具战略性和务实性降低使用门槛开发人员迁移到的障碍之一是从到的并不轻松的迁移。下一步将通过一系列功能和插件为的平滑过渡提供支持,并以此回馈社区。 showImg(https://segmentfault.com/img/remote/1460000017516912?w=1200&h=630); useSt...

    XboxYan 评论0 收藏0
  • 前端每周清单第 45 期: Safari 支持 Service Worker, Parcel 完整教

    摘要:的另一个核心特性,苹果表示也正在开发中,按开发进度可能几个月后就能与我们见面。是基于的本地化数据库,支持以及浏览器环境。 前端每周清单专注前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点;分为新闻热点、开发教程、工程实践、深度阅读、开源项目、巅峰人生等栏目。欢迎关注【前端之巅】微信公众号(ID: frontshow),及时获取前端每周清单。 本期是 2017 年的最后一...

    赵春朋 评论0 收藏0
  • 前端每周清单第 11 期:Angular 4.1支持TypeScript 2.3,Vue 2.3优化

    摘要:斯坦福宣布使用作为计算机课程的首选语言近日,某位有年教学经验的斯坦福教授决定放弃,而使用作为计算机入门课程的教学语言。斯坦福官方站点将它们新的课程描述为是最流行的构建交互式的开发语言,本课程会用讲解中的实例。 前端每周清单第 11 期:Angular 4.1支持TypeScript 2.3,Vue 2.3优化服务端渲染,优秀React界面框架合集 为InfoQ中文站特供稿件,首发地址为...

    warkiz 评论0 收藏0

发表评论

0条评论

z2xy

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<