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

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

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

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

JavaScript - 求两个向量之间的距离

2020-06-02 描述返回两个向量之间的距离。提示使用 Array.prototype.reduce(),Math.pow()和 Math.sqrt()计算两个向量之间的欧几里得距离代码 constvectorDistance=(x,y)=>Math.sqrt(x.reduce((acc,val,i)=>acc+Math.pow(val-y[i],2),0));示例求以下两个向量之间的距离:vector

JavaScript - 求两个向量之间的角度

2020-06-01 描述返回两个向量之间的角度(θ)。提示使用 Array.prototype.reduce(),Math.pow()和 Math.sqrt()分别计算每一个向量的模使用 Array.prototype.reduce()计算两个向量的内积使用 Math.acos()和公式\vec{a}\cdot\vec{b}=|\vec{a}|\,|\vec{b}|\cos\theta\;计算角度 θ 代码 co

JavaScript - 是否为数字

2020-05-29 描述如果给定的值为一个数字就返回 true,否则的话返回 false。提示使用!isNaN()和 parseFloat()组合检查参数是否为数字使用 isFinite()检查数字是否为无限使用 Number()进行强制检测代码 constvalidateNumber=n=>!isNaN(parseFloat(n))&&isFinite(n)&&Number(n)==n;示例判断是否为数字:v

JavaScript - 获取安全整数

2020-05-28 描述将一个值转换为安全整数。提示使用 Math.max()和 Math.min()获取最接近的安全值使用 Math.round()将其转换为整数代码 consttoSafeInteger=num=>Math.round(Math.max(Math.min(num,Number.MAX_SAFE_INTEGER),Number.MIN_SAFE_INTEGER));示例将下列值转换为安全整

JavaScript - 添加序数后缀

2020-05-27 描述为一个数字添加序数后缀。提示使用模运算符(%)获取个位和十位的值找出匹配的序数后缀如果模运算结果在 11-19 中,则使用 th 代码 consttoOrdinalSuffix=num=>{constint=parseInt(num),digits=[int%10,int%100],ordinals=['st','nd','rd','th'],oPattern=[1,2,3,4],tP

JavaScript - 使用千分位符号表示数字

2020-05-26 描述将一个数字转换为使用千分位符号分割的字符串。提示使用 Number.prototype.toLocaleString()将数字转换为使用千分位符号分割的字符串代码 consttoDecimalMark=num=>num.toLocaleString('en-US');示例将下列数字转换为使用千分位符号分割的字符串:toDecimalMark(12305030388.9087);/

JavaScript - 格式化货币

2020-05-25 描述根据数字返回指定的货币格式。提示使用 Intl.NumberFormat 对国家/货币进行敏感格式化。代码 consttoCurrency=(n,curr,LanguageFormat=undefined)=>Intl.NumberFormat(LanguageFormat,{style:'currency',currency:curr}).format(n);示例获取下列数字对应

JavaScript - 乘方之和

2020-05-21 描述返回从 start 到 end(包含两端)中所有数字的乘方之和。提示使用 Array.prototype.fill()创建一个目标范围内包含所有数字的数组使用 Array.prototype.map()和指数运算符(**)对 power 进行计算使用 Array.prototype.reduce()将计算结果进行相加第二个参数 power 的默认值为 2 第三个参数 start 的默认值为 1 代码 cons

Electron 9.0.0 升级注意事项

2020-05-22Electron9.0.0 已经发布了!该版本包含了升级、bug 修复和一些新特性。对 Chromium83,V88.3 和 Node.js12.14 进行了升级,为拼写检查器集成了一些新的 API,启用了 PDF 查看器,对 Linux 上的窗口事件处理进行改进等。更多特性和修改可前往 9.0.0 发布公告进行查看。重大修改当使用不带 enableRemoteModle:true 的 remot 时进行弃用警告

JavaScript - 根据特定条件求和

2020-05-20 描述迭代数组中的每一个元素,使用提供的方法进行计算,并将最终结果求和。提示使用 Array.prototype.map()对每一个元素进行迭代,返回通过 fn 计算的结果使用 Array.prototype.reduce()将上一步的计算结果进行累加,初始值为 0 代码 constsumBy=(arr,fn)=>arr.map(typeoffn==='function'?fn:val=>val

JavaScript - 求和

2020-05-19 描述返回多个数字或数字数组的和。提示使用 Array.prototype.reduce()来累加每一个值初始值为 0 代码 constsum=(...arr)=>[...arr].reduce((acc,val)=>acc+val,0);示例求下列数组之和:sum(1,2,3,4);//10sum(...[1,2,3,4]);//10 返回总目录每天 30 秒系列之 JavaScript 代码

JavaScript - 标准偏差

2020-05-18 描述返回一个数字数组的标准偏差。提示全程使用 Array.prototype.reduce()进行辅助计算使用原始数据分别减去数组的平均值将上一步所得的各个数值的平方相加将上一步结果除以 n-1/n 用上一步结果的数值求平方根第二个参数的默认值为 false,可获取抽样的标准偏差,将其设置为 true 可获取总体的标准偏差代码 conststandardDeviation=(arr,usePo

Vditor 对视频、音频、站点链接的解析

为了让用户在当前页面可对包含视频、音频的链接直接进行查看,特对以下类型的链接进行了特殊处理。视频解析对链接结尾为.mp4,.m4v,.ogg,.ogv,.webm 的视频将自动解析为 video 标签音频解析对链接结尾为.mp3,.wav 的音频将自动解析为 audio 标签站点解析对 youtu.be/youtube.com,youku.com,qq.com,coub.com,facebook.com,dail

JavaScript - 将字符串哈希为整数

2020-05-15 描述将输入的字符串哈希为一个完整的整数。提示使用 String.prototype.split('')和 Array.prototype.reduce()通过位移为输入的字符串创建一个哈希值代码 constsdbm=str=>{letarr=str.split('');returnarr.reduce((hashCode,currentVal)=>(hashCode=currentVa

JavaScript - 四舍五入到指定的位数

2020-05-14 描述将一数字四舍五入到指定的位数。提示使用 Math.round()和字符串模版将数字四舍五入到指定位数第二个参数 decimals 的默认值为 0,即四舍五入为整数代码 constround=(n,decimals=0)=>Number(`${Math.round(`${n}e${decimals}`)}e-${decimals}`);示例保留 2 位小数:round(1.005,2);//

iPhone 键盘弹起时 position 为 sticky/fixed 时失效

2020-05-13 描述将一个元素设置为 positon:sticky 时,该元素会相对于他最近的滚动祖先进行定位。如:屏幕滚动到横向二级导航的位置时,该二级导航需固定在屏幕顶部。将一个元素设置为 positon:fixed 时,该元素相对于屏幕的位置将永远保持不变。如:回到顶部按钮。在没有唤出键盘的情况下,以上属性都可以正常使用。但在 iPhone 中,当键盘被唤出时,使用以上属性的元素相对于屏幕的位置并不会

JavaScript - 指定范围内生成随机数

2020-05-12 描述在指定范围内返回一个随机数。提示使用 Math.random()生成一个随机数字使用乘法将其映射到所需范围内代码 constrandomNumberInRange=(min,max)=>Math.random()*(max-min)+min;示例生成一个 2~10 范围内的随机数:randomNumberInRange(2,10);//3.8679166307385877 返回总目录每

JavaScript - 指定范围内生成随机整数

2020-05-11 描述在指定范围内返回一个随机的整数。提示使用 Math.random()在范围内生成一个随机数字使用 Math.floor()将随机数转换为整数代码 constrandomIntegerInRange=(min,max)=>Math.floor(Math.random()*(max-min+1))+min;示例生成一个 0~5 范围内的随机整数:randomIntegerInRange(0

CSS - :hover 样式在移动端的兼容处理

2020-05-09 描述在 CSS:hover 伪类中可以定义鼠标悬停在元素上的效果,但由于移动端触摸屏的特性无法对其进行友好的兼容。具体表现为:手指触碰后:hover 样式会一直存在,除非点击其他区域。请使用纯 CSS 对其进行兼容。HTML<spanclass="vditor-icon">Touchme</span>CSS.vditor-icon:focus{color:#4285f4;}@media(h

JavaScript - 随机数组

2020-05-08 描述返回一个长度为 n 的数组,其中每一项都为指定范围内的随机数。提示使用 Array.from()创建一个指定长度的空数组使用 Math.random()生成一个指定范围内的随机数使用 Math.floor()将其转换为一个整数代码 constrandomIntArrayInRange=(min,max,n=1)=>Array.from({length:n},()=>Math.floor(