• 短而精代码段哟


    将obj转为url字符串

    var queryString = Object.keys(obj).map(key => key + '=' + obj[key]).join('&');

    获取URL的查询参数

    q={};location.search.replace(/([^?&=]+)=([^&]+)/g,(_,k,v)=>q[k]=v);q;

    展平数组 

    var arr4=arr3.flat(Infinity) 

    选取对象中的第一个

    obj[Object.keys(obj)[0]]

    数组对象数据格式根据年龄排序

    var arr = [{'name': '张三', age: 26},{'name': '李四', age: 12},{'name': '王五', age: 37},{'name': '赵六', age: 4}];
    arr.sort( (a,b)=> b.age-a.age);
    console.log(arr)

    随机排序

    arr.sort( (a,b)=> Math.random()-0.5);

    过滤undefined ,NAN,null,false,‘’

    arr = arr.filter(val=>!(!val || val== ''));

    过滤undefined ,NAN,null,false,‘’的数字数组

    arr = arr.map(Number).filter(val=>!(!val || val== ''));

    优化if(a==key || b==key || c==key)

    [a, b, c].includes(key);     // true/false

    Set去重

    let unique=(a)=>[...new Set(a)];

    可对字符串, 数字 null , undefined ,  NAN , 正则 , 数组 , 函数,  去重 

    缺点:无法对多重对象去重

    var obj = {}            
    var arr2 = array.filter((item, index , array)=>{            
        return obj.hasOwnProperty(typeof item + item)?false : (obj[typeof item + item]=true)
    })

    再次改良版去重

    var obj = {}            
    var arr2 = array.filter((item, index , array)=>{        
        return obj.hasOwnProperty(JSON.stringify(item) + typeof item + item)?false : (obj[JSON.stringify(item) + typeof item + item]=true)
    })

    非负数代替Math.floor()

    ~~11.71  //11
    11.71 | 0  //11

    代替Math.round()

    let a=24.7;
    a-0.5 | 0 // 25

    es6解构交换赋值

    let [a,b]=[b,a]

    使用^判断是否同为正负数

    (a^b)>=0 ;  //true 相同; false 不相同

    快速创建a链接

    let b = "我是a标签包裹的文本".link(www.baidu.com)

    es6重复字符

    let d = "0".repeat(7);//"0000000"

    快速判断IE8以下浏览器

    let isIE8 = !+"1"

    for循环条件简写

    for(let i = arr.length;i--){}

    隐藏所有指定元素

    const hide2 = (el)=>Array.from(el).forEach(e=>(e.style.dispaly="none"))

     arguments转化为数组

    [].slice.call(arguments, 0)  //选其中一种即可
    [...arguments]
    Array.from(arguments)

     选择器封装

    let $ = name=>document.querySelectorAll(name);
        console.log($('div'))

    取出两个数组相同之处

    let userList = [{id:1},{id:2},{id:3},{id:4},{id:5},{id:6}]; 
    let checkboxList = [{id:1},{id:2}]; 
    let userArr = userList.filter(item =>{return checkboxList.map(item => item.id).includes(item.id)}); 

    ..

    定元

  • 相关阅读:
    数据库基础——EXISTS和IN
    C#基础——加密
    C#基础——派生和继承
    SQL Server——报表服务
    SQL Server——SQL Server Profiler
    UML基础——UML简介和历史
    C#基础——密码加密
    C#(ASP.NET)错误: 无法获取属性“0”的值: 对象为 null 或未定义 关键字 'user' 附近有语法错误。
    SQL Server——存储过程
    链表的声明及操作
  • 原文地址:https://www.cnblogs.com/wxyblog/p/13657287.html
Copyright © 2020-2023  润新知