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

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

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

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

JavaScript - 生成随机颜色

2020-05-07 描述生成一个随机的使用十六进制表示的颜色代码。提示使用 Math.random 生成一个 24bit(6x4bits)的十六进制随机数位移后使用 toString(16)将其转换为一个十六进制字符串代码 constrandomHexColorCode=()=>{letn=(Math.random()*0xfffff*1000000).toString(16);return'#'+n.sli

JavaScript - 将角度从弧度转换为度

2020-05-06 描述将角度从弧度转换为度。提示使用 Math.PI 和弧度到度的公式将角度从弧度转换为度代码 constradsToDegrees=rad=>(rad*180.0)/Math.PI;示例求 Math.PI/2 的度:radsToDegrees(Math.PI/2);//90 返回总目录每天 30 秒系列之 JavaScript 代码

Vditor v3.1.23 发布,新增复制到微信公众号等周边功能

新功能截图简介该版本主要特性如下:为工具栏添加缩进、反向缩进、大纲、块元素前后插入行、更多(子菜单)、代码主题、内容主题、导出功能支持自定义渲染支持多款主题预览,欢迎推荐内容主题(长期有效)支持 Markdown,HTML,PDF 导出支持 PC 端,Pad 端,移动端预览支持将预览区域内容粘贴到公众号添加图片懒加载设置支持块级元素上下移动为工具栏添加顶部固定选项为 Markdown 添加段落开头空两格,主题、s

JavaScript - 获取质数

2020-04-30 描述使用埃拉托色尼筛选法(theSieveofEratosthenes),根据给定的数字生成质数。提示生成一个从 2 到给定数字的数组 arr 生成一个从 2 到给定数字的平方根的数组 numsTillSqroot 使用 Array.prototype.filter()过滤掉 arr 中可以被 numsTillSqroot 所整除或相等数字代码 constprimes=num=>{letarr=Array.

Sym 商业版优势

Sym 商业版和社区版代码有很多差异,但技术架构类似,后端都是基于 Latke 开发的,但商业版前端是完全重写的。下面我们介绍一下商业版相对于社区版的特性和优势。更好的安全性内置 CC 攻击过滤,能在很大程度上过滤掉攻击请求支持导入敏感词词库,可接入微信提供的内容安全校验接口更完备的 XSS、CSRF 防御更好的性能细致的数据缓存提供数据库索引优化脚本 ServiceWorker 浏览器端缓存图片、JavaScrip

JavaScript - 求幂集

2020-04-29 描述返回给定数字数组的幂集。提示使用 Array.prototype.reduce()和 Array.prototype.map()结合对元素进行遍历将所有组合情况放到一个数组中代码 constpowerset=arr=>arr.reduce((a,v)=>a.concat(a.map(r=>[v].concat(r))),[[]]);示例求 1,2 的幂集:powerset([1,2])

JavaScript - 百分比

2020-04-28 描述使用百分比表示给定的数组中有多少个数字小于或等于给定的值。提示使用 Array.prototype.reduce()计算有多少个数字小于指定的值,有多少个数字等于指定的值将最终结果转换为百分比代码 constpercentile=(arr,val)=>(100*arr.reduce((acc,v)=>acc+(v<val?1:0)+(v===val?0.5:0),0))/arr.

JavaScript - 获取计算后的最小值

2020-04-27 描述对数组中的每一个元素使用提供的函数进行运算后,返回结果集中的最小值。提示使用 Array.prototype.map()迭代每一个元素,返回通过 fn 运算后的值最后使用 Math.min()获取最小值代码 constminBy=(arr,fn)=>Math.min(...arr.map(typeoffn==='function'?fn:val=>val[fn]));示例通过指定方法计

JavaScript - 求两点之间的中间点

2020-04-26 描述计算两个(x,y)点之间的中间点。提示分解数组以获得 x1,y1,x2 和 y2 通过两点相加再除以 2 来计算每一个纬度的中间点代码 constmidpoint=([x1,y1],[x2,y2])=>[(x1+x2)/2,(y1+y2)/2];示例计算以下两点之间的中间点:midpoint([2,2],[4,4]);//[3,3]midpoint([4,4],[6,6]);//[5,5]

JavaScript - 求中位数

2020-04-24 描述返回一个数字数组中的中位数。提示使用 Math.floor 找出数组的中间索引使用 Array.prototype.sort()进行排序如果数组长度为奇数就返回最中间的数字,否则返回两个中间数字的平均数中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分代码 con

JavaScript - 获取计算后的最大值

2020-04-23 描述对数组中的每一个元素使用提供的函数进行运算后,返回结果集中的最大值。提示使用 Array.prototype.map()迭代每一个元素,返回通过 fn 运算后的值最后使用 Math.max()获取最大值代码 constmaxBy=(arr,fn)=>Math.max(...arr.map(typeoffn==='function'?fn:val=>val[fn]));示例通过指定方法计

JavaScript - 根据范围映射获取对应的数字

2020-04-22 描述根据一个范围到另一个范围的映射,获取提供的数字相对应的映射。提示在 outMin-outMax 到 inMin-inMax 中返回 num 的映射代码 constmapNumRange=(num,inMin,inMax,outMin,outMax)=>((num-inMin)*(outMax-outMin))/(inMax-inMin)+outMin;示例求 5 在[0,10]和[0,100]

JavaScript - 是否满足 Luhn 算法

2020-04-21 描述 Luhn 算法的实现被用于验证各种身份的标示码。例如信用卡编号,国际移动设备识别码(IMEI),国家提供商标识符等。提示经过 String.prototype.split(''),Array.prototype.reverse()和 Array.prototype.map()组合后使用 parseInt()以获取一个数字数组使用 Array.prototype.splice(0,1)获

JavaScript - 求最小公倍数

2020-04-20 描述返回 2 个或多个数字的最小公倍数。提示使用最大公约数(GCD)公式和 lcm(x,y)=x*y/gcd(x,y)来确定最小公倍数 GCD 公式使用递归代码 constlcm=(...arr)=>{constgcd=(x,y)=>(!y?x:gcd(y,x%y));const_lcm=(x,y)=>(x*y)/gcd(x,y);return[...arr].reduce((a,b)=>_

JavaScript - 是否为质数

2020-04-17 描述检查提供的数字是否为质数。提示从 2 到给定数字的平方根递增进行检查如果给定的数字能被他们整除就返回 false 否则当指定数字大于等于 2 时就返回 true 代码 constisPrime=num=>{constboundary=Math.floor(Math.sqrt(num));for(vari=2;i<=boundary;i++)if(num%i===0)returnfalse;re

JavaScript - 是否为 2 的 n 次幂

2020-04-16 描述如果给定的数值为 2 的次幂则返回 true,否则返回 false。提示使用二进制位运算符&来检测 n 是否为 2 的次幂此外,还需检测 n 不为假值代码 constisPowerOfTwo=n=>!!n&&(n&(n-1))===0;示例以下数字是否为 2 的 n 次幂:isPowerOfTwo(0);//falseisPowerOfTwo(1);//trueisPowerOfTwo(8);//true

JavaScript - 是否为奇数

2020-04-15 描述如果给定的数字是奇数就返回 true,否则就返回 false。提示使用模运算符 % 来检测一个数字是奇数还是偶数如果数字为奇数就返回 true,为偶数就返 false 代码 constisOdd=num=>num%2===1;示例 3 是否为奇数:isOdd(3);//true 返回总目录每天 30 秒系列之 JavaScript 代码

JavaScript - 是否为负零

2020-04-14 描述检查给定的数字是否等于负零(-0)。提示传入的值是否等于 0 并且用 1 除以该值是否等于-Infinity 代码 constisNegativeZero=val=>val===0&&1/val===-Infinity;示例是否为负零:isNegativeZero(-0);//trueisNegativeZero(0);//false 返回总目录每天 30 秒系列之 JavaScript 代码

JavaScript - 是否为偶数

2020-04-13 描述如果给定的数字是偶数就返回 true,否则就返回 false。提示使用模运算符 % 来检测一个数字是奇数还是偶数如果数字为偶数就返回 true,为奇数就返 false 代码 constisEven=num=>num%2===0;示例 3 是否为偶数:isEven(3);//false 返回总目录每天 30 秒系列之 JavaScript 代码

JavaScript - 是否能整除

2020-04-10 描述检查第一个数字参数是否能被第二个数字参数整除。提示使用莫运算符 % 来检测余数是否等于 0 代码 constisDivisible=(dividend,divisor)=>dividend%divisor===0;示例 6 是否能被 3 整除:isDivisible(6,3);//true 返回总目录每天 30 秒系列之 JavaScript 代码