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

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

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

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

  每天 30 秒系列

每天 30 秒系列前端精选问题集,每天仅需 30 秒前端面试精选常见面试题,帮助您准备下一次面试 HTMLCSSJavaScriptReactNodeSecurityCSS 精选常见交互,帮助您拥有简洁酷炫的站点布局视觉动画交互其他 React 精选有用的 React 片段,帮助你获取最佳实践 ArrayInputObjectVisualJavaScriptCode 精选常见代码集,帮助您提高打码效率 🔌适配器 📚数组 🌐浏览器

  每天 30 秒系列之 JavaScript 代码

精选常见代码集,帮助您提高打码效率 📚数组 allallEqualanyarrayToCSVbifurcatebifurcateBychunkcompactcountBycountOccurrencesdeepFlattendifferencedifferenceBydifferenceWithdropdropRightdropRightWhiledropWhileeveryNthfilterFalsy

JavaScript - 角度转换为弧度

2020-03-27 描述将角度转换为弧度。提示使用 Math.PI 和角度转换为弧度的公式,将角度转换为弧度代码 constdegreesToRads=deg=>(deg*Math.PI)/180.0;示例求 90^o 对应的弧度:degreesToRads(90.0);//~1.5708 返回总目录每天 30 秒系列之 JavaScript 代码

JavaScript - 获取最接近范围的数值

2020-03-26 描述将 num 限制在指定的 a 和 b 范围之间。提示如果 num 在范围之内,就返回 num 如果 num 在范围之外,就返回最接近范围的数字代码 constclampNumber=(num,a,b)=>Math.max(Math.min(num,Math.max(a,b)),Math.min(a,b));示例返回范围内的数值:clampNumber(4,3,5);//4clampNumber(1,-

JavaScript - 求二项式系数

2020-03-25 描述计算两个整数 n 和 k 的二项式系数。提示使用 Number.isNaN()检查 n 和 k 是否为 NaN 如果 k 小于等于 0,或者大于等于 n,或者等于 1,或者等于 n-1 时,需返回适当的值如果 n-k 小于 k,则相应的切换其值从 2 开始循环到 k 来计算二项式系数使用 Math.round()将有误差的结果进行四舍五入代码 constbinomialCoefficient=(n,k)=>{if(Number.

JavaScript - 根据函数求数组对象中的平均值

2020-03-24 描述数组中的每一个元素根据所提供的函数可获取每一项的值,然后求这些值的平均数。提示使用 Array.prototype.map()迭代每一个元素通过 fn 计算后的返回值使用 Array.prototype.reduce()对每一个返回值进行累加,初始值为 0 将累加值除以数组的 length 代码 constaverageBy=(arr,fn)=>arr.map(typeoffn==='func

JavaScript - 平均值

2020-03-23 描述返回 2 个或更多个数字的平均值。提示使用 Array.prototype.reduce()对每一个值进行累加,初始值为 0 将累加值除以数组的 length 代码 constaverage=(...nums)=>nums.reduce((acc,val)=>acc+val,0)/nums.length;示例求平均值:average(...[1,2,3]);//2average(1,2,3)

JavaScript - 检查两个数字是否相近

2020-03-20 描述检查两个数字之间的值是否彼此相近。提示使用 Math.abs()比较两个值之间的绝对差值是否小于 epsilon 第三个参数 epsilon 默认值为 0.001 代码 constapproximatelyEqual=(v1,v2,epsilon=0.001)=>Math.abs(v1-v2)<epsilon;示例两个数字之间的差值是否小于 0.001:approximatelyEqual(M

JavaScript 内存应在何时及如何使用?

2020-03-17 回答内存是一种常用的技术,可以显著的提升代码速度。他使用缓存来存储结果,因此再次调用该耗时函数时将不需要再执行相同的运行。基于这一定义,我们能简单的抽取出一些标准来帮助我们确定在我们的代码中何时应使用内存:当执行过慢,消耗过多或函数调用时间过长时就应该使用内存内存可以加快后续函数调用,因此当你需要在相同情况下多次调用同一函数时最好使用他我们将结果存储在内存中,因此需避免相同函数在

JavaScript - 当为真值时便执行下一个函数

2020-03-16 描述将 x 值带入断言函数中进行测试。如果为 true 则返回真值处理函数 whenTrue(x),否则返回 x。提示返回一个仅接受单一参数 x 的函数根据 pred 的运行结果返回适当的值代码 constwhen=(pred,whenTrue)=>x=>(pred(x)?whenTrue(x):x);示例当一个数字为偶数时就乘以 2:constdoubleEvenNumbers=when(x=>x%2

JavaScript - 当为真值时便执行下一个函数

2020-03-18 描述将 x 值带入断言函数中进行测试。如果为 true 则返回真值处理函数 whenTrue(x),否则返回 x。提示返回一个仅接受单一参数 x 的函数根据 pred 的运行结果返回适当的值代码 constwhen=(pred,whenTrue)=>x=>(pred(x)?whenTrue(x):x);示例当一个数字为偶数时就乘以 2:constdoubleEvenNumbers=when(x=>x%2

JavaScript - 迭代执行 `n` 次

2020-03-13 描述将一个回调函数迭代执行 n 次。提示使用 Function.call()调用 fn 函数 n 次或当他返回 false 最后一个参数 context,默认使用 undefined 对象或非严格模式下的全局对象代码 consttimes=(n,fn,context=undefined)=>{leti=0;while(fn.call(context,i)!==false&&++i<n){}};示例输出字符

JavaScript - 函数在一定时间内只能执行一次

2020-03-12 描述创建一个受限制的函数,每 wait 毫秒最多只能调用提供的函数一次。提示使用 setTimeout()和 clearTimeout()来限制给定的方法 fn 使用 Function.prototype.apply()将 this 上下文应用到受限函数中,并提供其必要的 arguments 使用 Date.now()跟踪上一次调用受限函数的时间第二个参数 wait 用于设置受限函数每次执行的时间间隔,默认

JavaScript - 省略后半部分参数的传入

2020-03-11 描述创建一个函数,当调用 fn 时,将 partials 添加到最终执行函数所接受的参数之后。提示使用扩展运算符...将 partials 添加到 fn 的参数列表之后代码 constpartialRight=(fn,...partials)=>(...args)=>fn(...args,...partials);示例对同一个朋友进行不同的问候:constgreet=(greeting,name)

JavaScript - 省略前半部分参数的传入

2020-03-10 描述创建一个函数,当调用 fn 时,将 partials 添加到最终执行函数所接受的参数之前。提示使用扩展运算符...将 partials 添加到 fn 参数列表之前代码 constpartial=(fn,...partials)=>(...args)=>fn(...partials,...args);示例对不同的朋友都说 Hello:constgreet=(greeting,name)=>gree

使用浏览器原生 API 读写本地文件

2020-03-09 简介新的文件系统 API 允许 Web 应用读取或修改用户设备中的文件或文件夹。他能让开发者简单的构建一个和用户本地文件交互的强大的 Web 应用,如 IDE,照片和视频编辑,文本编辑等。当用户授权给一个 Web 应用后,这个 API 就允许该 Web 应用读取或者修改用户设备上的文件。该 API 不属于 W3C 官方或 WHATWG 规范,目前状态如下:SpecificationStatusCommentFilea

JavaScript - 仅触发一次事件

2020-03-06 描述确保一个函数只被调用一次。提示在闭包中使用一个标志变量 called,当函数经过第一次调用后就将其设置为 true,从而阻止该函数被再次调用为了让函数能够修改自己的 this 上下文(如在一个事件监听器中),不仅需要使用 funciton 关键字,还需要让函数拥有自己的上下文环境使用扩展运算符...让函数可以接受任意多个参数代码 constonce=fn=>{letcalled=false

JavaScript - 返回一个条件函数的相反值

2020-03-05 描述返回一个条件函数的相反值。提示对条件函数使用非操作运算符!通过闭包将参数传入条件函数中代码 constnegate=func=>(...args)=>!func(...args);示例获取奇数:[1,2,3,4,5,6].filter(negate(n=>n%2===0));//[1,3,5]返回总目录每天 30 秒系列之 JavaScript 代码

如何在 JavaScript 中实现单例?

2020-03-04 回答较为高级灵活的方式是使用 Proxy,以下是将一个 class 转换为一个单例的最基本实现:constsingletonify=(className)=>{returnnewProxy(className.prototype.constructor,{instance:null,construct:(target,argumentsList)=>{if(!this.instance