• 前端日常工作中常用开发小技巧 ---JavaScript


    1.格式化金钱值

    const ThousandNum = num => num.toString().replace(/B(?=(d{3})+(?!d))/g, ",");
    const money = ThousandNum(20190214);
    // money => "20,190,214"

    2.取整  代替正数的 Math.floor(),代替负数的 Math.ceil()

    const num1 = ~~ 1.69;
    const num2 = 1.69 | 0;
    const num3 = 1.69 >> 0;
    // num1 num2 num3 => 1 1 1

    3.转数值  只对 null 、"" 、false 、数值字符串 有效

    const num1 = +null;
    const num2 = +"";
    const num3 = +false;
    const num4 = +"169";
    // num1 num2 num3 num4 => 0 0 0 169

    4.精确小数

    const RoundNum = (num, decimal) => Math.round(num * 10 ** decimal) / 10 ** decimal;
    const num = RoundNum(1.69, 1);
    // num => 1.7

    5.取最小最大值

    const arr = [0, 1, 2];
    const min = Math.min(...arr);
    const max = Math.max(...arr);
    // min max => 0 2

    6.是否为空对象

    const obj = {};
    const flag = DataType(obj, "object") && !Object.keys(obj).length;
    // flag => true

    7.判断数据类型

    function DataType(tgt, type) {
        const dataType = Object.prototype.toString.call(tgt).replace(/[object (w+)]/, "$1").toLowerCase();
        return type ? dataType === type : dataType;
    }
    DataType("liner"); // "string"
    DataType(2020630); // "number"
    DataType(true); // "boolean"
    DataType([], "array"); // true
    DataType({}, "array"); // false

    8.克隆数组

    const _arr = [0, 1, 2];
    const arr = [..._arr];
    // arr => [0, 1, 2]

    9.合并数组

    const arr1 = [0, 1, 2];
    const arr2 = [3, 4, 5];
    const arr = [...arr1, ...arr2];
    // arr => [0, 1, 2, 3, 4, 5];

    10.去重数组

    const arr = [...new Set([0, 1, 1, null, null])];
    // arr => [0, 1, null]

    11.截断数组

    const arr = [0, 1, 2];
    arr.length = 2;
    // arr => [0, 1]

    12.交换赋值

    let a = 0;
    let b = 1;
    [a, b] = [b, a];
    // a b => 1 0

    13.克隆对象

    const _obj = { a: 0, b: 1, c: 2 }; // 以下方法任选一种(本人偏爱第一种,简单明了,与克隆数组几乎一样)
    const obj = { ..._obj };
    const obj = JSON.parse(JSON.stringify(_obj));
    // obj => { a: 0, b: 1, c: 2 }

    14.合并对象

    const obj1 = { a: 0, b: 1, c: 2 };
    const obj2 = { c: 3, d: 4, e: 5 };
    const obj = { ...obj1, ...obj2 };
    // obj => { a: 0, b: 1, c: 3, d: 4, e: 5 }

      为什么 obj 不是 {a:0,b:1,c:2,d:4,e:5}  而是上面结果 下面相同的例子就可以说明

  • 相关阅读:
    获取手机安装的所有包名adb shell pm list packages
    启动管理
    日志管理
    系统管理:进程管理、终止进程、工作管理、系统资源查看
    报数出局问题,类似约瑟夫环(链表写法)
    多项式的链式写法
    简易的C语言地铁购票系统
    68-js 前端实现标签值的切换
    67-foreach 取循环的次数
    66-mybatis 插入数据返回主键
  • 原文地址:https://www.cnblogs.com/aixue/p/13214185.html
Copyright © 2020-2023  润新知