23 04 月 2020 JavaScript - 获取计算后的最大值 2020-04-23 描述对数组中的每一个元素使用提供的函数进行运算后,返回结果集中的最大值。提示使用 Array.prototype.map()迭代每一个元素,返回通过 fn 运算后的值最后使用 Math.max()获取最大值代码 constmaxBy=(arr,fn)=>Math.max(...arr.map(typeoffn==='function'?fn:val=>val[fn]));示例通过指定方法计
21 04 月 2020 JavaScript - 是否满足 Luhn 算法 2020-04-21 描述 Luhn 算法的实现被用于验证各种身份的标示码。例如信用卡编号,国际移动设备识别码(IMEI),国家提供商标识符等。提示经过 String.prototype.split(''),Array.prototype.reverse()和 Array.prototype.map()组合后使用 parseInt()以获取一个数字数组使用 Array.prototype.splice(0,1)获
16 04 月 2020 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
13 04 月 2020 JavaScript - 是否为偶数 2020-04-13 描述如果给定的数字是偶数就返回 true,否则就返回 false。提示使用模运算符 % 来检测一个数字是奇数还是偶数如果数字为偶数就返回 true,为奇数就返 false 代码 constisEven=num=>num%2===0;示例 3 是否为偶数:isEven(3);//false 返回总目录每天 30 秒系列之 JavaScript 代码
06 04 月 2020 JavaScript - 最大公约数 2020-04-06 描述计算两个及以上的数字或数组的最大公约数。提示内部函数_gcd 使用递归当 y 等于 0 时,返回 x 否则将 y 和 x/y 的余数传入 GCD 中继续进行计算代码 constgcd=(...arr)=>{const_gcd=(x,y)=>(!y?x:gcd(y,x%y));return[...arr].reduce((a,b)=>_gcd(a,b));};示例计算一下数字中的最大公约数:gcd(8,3
03 04 月 2020 JavaScript - 获取斐波那契数列 2020-04-03 描述生成一个包含斐波那契序列的数组,直到第 n 项。提示创建一个指定长度的数组,初始化前两个值(0 和 1)使用 Array.prototype.reduce()将值添加到数组中,当 n 大于 1 时,填充前两个数相加的值代码 constfibonacci=n=>Array.from({length:n}).reduce((acc,val,i)=>acc.concat(i>1?acc[i-1]+ac
01 04 月 2020 JavaScript - 获取新的 Elo 游戏评分 2020-04-01 描述通过 Elo 评分系统获取两个或更多个对手之间的新评分。将旧评分放入一个数组中,然后返回一个包含新评分的数组。数组需按照从高分到低分进行排序(胜利者-> 失败者)。提示使用指数运算符**和数学运算符计算所期待的分数(获胜机会)计算每一个选手新的分数对分数进行依次循环,为每对玩家使用排列的方式进行计算,最终获取每一个玩家新的 Elo 评分第二个参数 kFactor 的默认值为 32 代码 cons