// 重复、反复、条件迭代
// 实现一个repeat函数
const _ = require('../lib/underScore.js')
function repeat(times, VALUE) {return _.range(times).map(() => VALUE)
}
let r = repeat(4, 'js')
console.log('r', r) // [ 'js', 'js', 'js', 'js' ]// times是确定的值
function repeatedly(times, fun) {return _.range(times).map(fun)
}r = repeatedly(3, function(){return Math.floor((Math.random() * 10) + 1)
})
console.log(r) // [ 10, 7, 8 ]// 条件开放,执行开放
// 将for循环的两个语句使用函数表示
function iterateUntil(fun, check, init) {let ret = []// let result = fun(init)// while(check(result)) {//   ret.push(result)//   result = fun(result)// }for(let i = fun(init); check(i); i = fun(i)) {ret.push(i)}return ret
}
let b = iterateUntil(n => n + n, n => n < 1024, 1)
console.log(b) // [ 2,   4,   8,  16, 32, 64, 128, 256, 512 ]let n = iterateUntil(n => ++n, n => n < 10, 0)
console.log(n)// 但这样的话,想实现上面的 Math.floor((Math.random() * 10) + 1) 生成反而变得困难,因为这样的话需要在fun中返回一个迭代数和一个结果值

js-读书笔记-函数式编程-重复、反复、条件迭代-repeat函数的实现相关推荐

  1. python语言支持函数式编程_Python语言之Pyhton入门笔记函数式编程

    本文主要向大家介绍了Python语言之Pyhton入门笔记函数式编程,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 一,匿名函数 def add(x,y) return x+y ...

  2. 剑指offer(第二版)读书笔记以及编程题目python版答案(二)

    剑指offer(第二版)读书笔记以及编程题目python版答案(二) 题目五:青蛙跳台阶 github地址: https://github.com/ciecus/leetcode_answers/tr ...

  3. Core Java 8 读书笔记-Networking编程

    Core Java 8 读书笔记-Networking编程 作者:老九-技术大黍 原文:Core Java 8th Edition 社交:知乎 公众号:老九学堂(新人有惊喜) 特别声明:原创不易,未经 ...

  4. mysql函桌为之一的_MYSQL必知必会读书笔记第十和十一章之使用函数处

    mysql简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理. 拼接字段 存储在数据库表中的 ...

  5. JS学习笔记——高级编程中compose函数的介绍和基本实现

    1.前言 在之前探讨redux的中间件的时候,applyMiddleware源码中有遇到过compose()函数,当时不太明白起作用,所以就上网好好查了一下,做了个总结. 2.普通函数 在函数式编程当 ...

  6. 优化函数式编程:向 PHP 移植 Clojure 函数

    许多通用程序设计语言试图兼容大多数编程范式,PHP 就属于其中之一.不论你想要成熟的面向对象的程序设计,还是程序式或函数式编程,PHP 都可以做到.但我们不禁要问,PHP 擅长函数式编程吗?本文系国内 ...

  7. Python函数式编程指南(二):函数

    这是此系列的第二篇,试图说明在Python中如何更好地使用函数并引导诸位使用函数式的思维进行思考.掌握并应用这些内容,就已经是至少形似的函数式风格的代码了,至于思维么,这个真靠自己. 作者水平有限,如 ...

  8. Python函数式编程简介(二)返回函数

    本文为Python函数式编程的第二部分主要讲解返回函数和闭包 2.返回函数 2.1.函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回. 我们来实现一个可变参数的求和.通常 ...

  9. 读书笔记————Python编程快速上手

    学习笔记 文章目录 基础 整型.浮点型和字符串数据类型 字符串连接和复制 变量命名规则 `print()`函数 `input()`函数 `len()`函数 `str() float() int()`函 ...

最新文章

  1. vts传感器采取船舶的_【火炬高企】船舶通讯导航设备专家新诺航科
  2. 获取IE (控件)的所有链接(包括Frameset, iframe)zz
  3. python程序发布 ubuntu_发布和运行(ubuntu下python服务器)
  4. 【嵌入式Linux】嵌入式Linux驱动开发基础知识之驱动设计的思想:面向对象/分层/分离
  5. 【Python】变量那些事
  6. Android学习系列(一)初识安卓
  7. 科立捷默认频率_科立捷电子产品技术参数.doc
  8. 【python】将多个txt文件合并为一个txt文件
  9. 【ATSC】ATSC数字测试专用ATSC Frequency
  10. web前端大作业 (仿英雄联盟网站制作html css javascript) 学生dreamweaver网页设计作业
  11. 服务器搭建系列之序章:总览,2022最新版本
  12. 【渝粤题库】广东开放大学 建筑力学与结构 形成性考核
  13. 计算机密码是空的怎么重置,电脑忘记开机登录密码怎么办? Windows 密码重置 - 合一学院...
  14. vulnhub——Empire:LupinOne
  15. Zoomla!逐浪CMS高端全栈训练营—开始报名啦
  16. java验证手机号码的工具类-截止2022年中国大陆四家运营商以及虚拟运营商手机号码校验
  17. vb版机房收费系统“经典代码总结”--01
  18. 【华为OD机试真题 JAVA】连续出牌数量
  19. datetime用法
  20. GBase 8a账号管理

热门文章

  1. Java后端工程师常见面试题
  2. shell ssh远程执行命令
  3. 使用 YOLO 进行实时目标检测
  4. mtk使用android开关机动画,Android9.0 MTK 平板横屏方案修改(强制app横屏 + 开机logo/动画+关机充电横屏 + RecoveryUI 横屏)...
  5. 关于wxid加好友 wxid转微信的方法
  6. c语言yzk头文件,创建进度栏的步骤
  7. 刺激战场S6新赛季灵敏度终于来啦:最强教程手把手教你调
  8. [学习与探索]快手视频刷积分python脚本
  9. 【测试开发】几种常见的自动化测试框架
  10. 学顶教育:2023年一级建造师报考条件如下