当前位置: 首页 > news >正文

[面试题记录01]实现一个function sum达到一下目的

console.log(sum(1, 2, 3, 4, 5).valueOf()) // => 15
console.log(sum(1, 2)(3, 4)(5).valueOf()) // => 15
console.log(sum(1, 2)(3)(4)(5).valueOf()) // => 15
console.log(sum(1)(2)(3)(4)(5).valueOf()) // => 15

复制代码
/**
 * @author shao
 * @date 2018/03/05
 * @project test
 */
let sum = function () {
    let prevSum = [...arguments].reduce((a, b) => a + b)
    let result = function () {
      return sum(...([...arguments].concat(prevSum)))
    }
    result.valueOf = function () {
      return prevSum
    }
    return result
  }

console.log(sum(1, 2, 3, 4, 5).valueOf()) // => 15
console.log(sum(1, 2)(3, 4)(5).valueOf()) // => 15
console.log(sum(1, 2)(3)(4)(5).valueOf()) // => 15
console.log(sum(1)(2)(3)(4)(5).valueOf()) // => 15

复制代码

转载于:https://juejin.im/post/5c7e4064e51d451a9e4c2a16

相关文章:

  • 你和大神之间只差一个高效工具
  • 蓝桥——商标倒放
  • 05 面向对象之:类的成员
  • [古怪问题] Marshal.GetActiveObject 在管理员模式下无法正常运行
  • wind.print(); 打印的样式设置
  • 612.1.004 ALGS4 | Elementary Sorts - 基础排序算法
  • 读《构建之法》疑问
  • 如何设置linux支持上传的文件中文不乱吗
  • 致远慧图孙宇辉:出走英特尔的AI眼科野望
  • 为什么你设定的目标最后实现往往都会打折扣?
  • Golang数据结构
  • JSON 自学手册(图文教程)
  • 周工作总结-数据迁移
  • Bootstrap3基础 navbar 导航条 简单示例
  • fio测试nvme性能
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • ECS应用管理最佳实践
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Hexo+码云+git快速搭建免费的静态Blog
  • Javascript设计模式学习之Observer(观察者)模式
  • Java多线程(4):使用线程池执行定时任务
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • TCP拥塞控制
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 十年未变!安全,谁之责?(下)
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #define用法
  • #define与typedef区别
  • #if和#ifdef区别
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (待修改)PyG安装步骤
  • (理论篇)httpmoudle和httphandler一览
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (十一)图像的罗伯特梯度锐化
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)可以带来幸福的一本书
  • .Net Web项目创建比较不错的参考文章
  • .Net 代码性能 - (1)
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net经典笔试题
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET文档生成工具ADB使用图文教程
  • .NET序列化 serializable,反序列化
  • .project文件
  • @ComponentScan比较
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [20150321]索引空块的问题.txt
  • [2021 蓝帽杯] One Pointer PHP
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [Android] Android ActivityManager
  • [APIO2012] 派遣 dispatching
  • [AR]Vumark(下一代条形码)
  • [AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)