🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

0 篇文章

功能 - 对函数依次调用每一个传入的参数

2019-03-25 描述将使用数组为参数的函数修改为使用可变参数的函数。提示接受该函数 fn 为参数并返回一个闭包函数闭包函数使用扩展运算符将所有输入作为数组传入 fn 函数中。代码 constcollectInto=fn=>(...args)=>fn(args);示例对多个异步请求的返回进行输出处理:constp1=Promise.resolve(1);constp2=newPromise(resolve=

功能 - 传入的参数应用到指定函数中

2019-03-28 描述创建一个函数,使其可以调用提供的函数和参数进行转换。提示使用 Array.prototype.map()让传入的转换函数能够一一对应接受传入的参数。通过扩展运算符将组装好的转换函数传给 fn。代码 constoverArgs=(fn,transforms)=>(...args)=>fn(...args.map((val,i)=>transforms[i](val)));示例依次计算

功能 - 异步函数管道

2019-03-29 描述为输入的异步函数进行从左到右的依次执行。提示对接受的函数参数使用扩展运算符后便可用 Array.prototype.reduce()来执行从左到右的函数组合。为接受的异步函数使用 Promise.then()。接受的函数参数可以返回以下组合:简单值,Promise,或者定义为 async 函数且通过 await 返回的异步值。所有函数必须是一元的。代码 constpipeAsyncFunc

功能 - 柯里化展开

2019-04-02 描述传入一个参数可变的函数后返回一个闭包,该闭包接受一个数组作为参数,并且可以将参数展开后输入到一开始传入的函数中。提示使用扩展运算符展开传入的数组参数后并把其用闭包输入到 fn 中。代码 constspreadOver=fn=>argsArr=>fn(...argsArr);示例求数组中的最大值:constarrayMax=spreadOver(Math.max);arrayMax(

日期 - 是否为周末

2019-12-24 描述为指定的日期返回一个是否为周末的布尔表达式。提示传递一个指定的日期对象基于 Date.getDay()使用返回值 0-6 来表示周日-周六,可以使用模运算来返回一个布尔值参数的默认值为当天代码 constisWeekend=(t=newDate())=>{returnt.getDay()%7===0;};示例今天是否是周日:isWeekend();//false 指定的日期是否为周末:

日期 - 返回数值最大的日期

2019-12-26 描述从给定的日期中返回最大的一个。提示在 Math.max 使用 ES6 的展开语法找到最大的 date 值使用 newDate()将最大值转换为 Date 对象代码 constmaxDate=dates=>newDate(Math.max(...dates));示例从数组中找出最新的一天:constarray=[newDate('2009-12-09'),newDate('2017-4-13'),

日期 - 计算两个日期之间相差的天数

2020-01-02 描述放回两个日期中相差的天数。提示两个 Date 对象相减获取相差的毫秒把相差的毫秒兑换为天数代码 constgetDaysDiffBetweenDates=(dateInitial,dateFinal)=>(dateFinal-dateInitial)/(1000*3600*24);示例 B3log 想法距今有多少天了:getDaysDiffBetweenDates(newDate('2

日期 - 一个日期是否在另一个日期后面

2020-01-03 描述检查一个日期是否在另外一个日期的后面。提示传入两个参数,检测第一个日期是否在第二个日期之后使用大于运算符(>)来进行检查代码 constisAfterDate=(dateA,dateB)=>dateA>dateB;示例输入两个日期,第一个日期是否在第二个日期之后:isAfterDate(newDate(2020,01,02),newDate(2020,01,03));//fal

功能 - 属性检测

2019-12-18 描述传入一个 predicate 函数和一个 prop 字符串,然后使用柯里化函数将通过属性调用检查的 object 传递给 predicate。提示获取 obj 对象中的 prop 值将获取的值传递给已提供好的 predicate 函数最终返回该函数的真假值代码 constcheckProp=(predicate,prop)=>obj=>!!predicate(obj[prop]);示例检测对象的长度是否

功能 - 属性方法绑定

2020-01-10 描述创建一个函数,使其可以调用指定对象中的属性方法,并且还可以支持将后续提供的任意参数作为柯里化函数中的单一参数。提示返回一个使用 Function.prototype.apply()绑定 context[fn]为 context 的 function 使用扩展运算符...展开后续提供的任意参数和单一参数作为 function 中的参数代码 constbindKey=(context,fn,...