最大公约数、最小公倍数
最大公约数 gcd
1
   | const gcd = (a, b) => a ? gcd(b%a, a) : b;
 
  | 
 
最小公倍数 lcm 
依赖于最大公约数 gcd
1
   | const lcm = (a, b) => a * b / gcd(a,b);
 
  | 
 
最大值 / 最小值
最大值 max ,输出给定所有数字的最大数字,如果没有参数,则返回  -Infinity。
1 2 3 4 5 6 7 8 9 10 11 12 13
   | const max = (...args) => {   if(args.length === 0) return -Infinity;   let _max_ = args[0];   for(const a of args) {     _max_ = _max_ > a ? _max_ : a;   }   return _max_; }
 
  max(1,2,3,4,5,890,34,12,56757,12) 
  max(...[1,2,3,4,5,890,34,12,56757,12]) 
 
  | 
 
最小值 min ,输出给定所有数字的最小数字,如果没有参数,则返回  Infinity。
1 2 3 4 5 6 7 8 9 10 11 12 13
   | const min = (...args) => {   if(args.length === 0) return Infinity;   let _min_ = args[0];   for(const a of args) {     _min_ = _min_ < a ? _min_ : a;   }   return _min_; }
 
  min(1,2,3,4,5,890,34,12,56757,12) 
  min(...[1,2,3,4,5,890,34,12,56757,12]) 
 
  | 
 
检查 存在性
existy 检查数据是否 存在 ,即是否不等于 null 或 undefined。
1 2 3
   | const existy = x => x != null
 
 
 
  | 
 
注:松散不等于 != 会将 null 和 undefined 判定为 一个东西,即 null == undefined
在 JavaScript 中,truthy(真值)指的是在布尔值上下文中,转换后的值为 true 的值。被定义为假值以外的任何值都为真值。(即所有除 false、0、-0、0n、""、null、undefined 和 NaN 以外的皆为真值)。
1
   | const truthy = x => x !== false && x != null && x !== 0  && x !== 0n && x === x && x !== "";
 
  | 
 
falsy 函数同理: 
1
   | const falsy = x => x === false || x == null || x === 0 || x === 0n || x === "" || x !== x ;
 
  | 
 
生成随机数
随机生成 $m-n$ 之间的整数值
1 2 3 4
   |  function random(m, n) {   return Math.round(Math.random() * (n-m) + m); }
 
  | 
 
斐波那契数列 - 生成器版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   | function* createFibonacci() {   let a = 1, b = 1;   while(1) {     yield a;     b = a+b;     a = b-a;   } }
  let fibonacci = createFibonacci(); fibonacci.next()  fibonacci.next()  fibonacci.next()  fibonacci.next()  fibonacci.next()  fibonacci.next()  fibonacci.next() 
 
  | 
 
    
    
        
        
        
        
        
            版权声明: 本博客所有文章除特别声明外,均采用 
CC BY-SA 4.0 许可协议。著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。