zoukankan      html  css  js  c++  java
  • 前端日常工作中常用开发小技巧 ---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}  而是上面结果 下面相同的例子就可以说明

  • 相关阅读:
    实现JavaScript自定义函数的整合、链式调用及类的封装
    jQuery事件
    jQuery特效
    jQuery基础细节
    CSS3盒模型
    主流清浮动方法
    JavaScript 执行环境及作用域
    JavaScript 参数传递与变量复制
    PHP雪花背景验证码
    Linkis 0.9.2 版本发布
  • 原文地址:https://www.cnblogs.com/aixue/p/13214185.html
Copyright © 2011-2022 走看看