• js单行代码 cookie 日期(第几天,隔几天)去重, 判断是否是空数组,获取用户选择的文本


    获取浏览器的cookie  

       通过document.cookie 来查找cookie的值

    复制到剪贴板:借助navigator.clipboard.writeText可以很容易的将文本复制到剪贴板

      const copyToClipboard=(text)=>navigator.clipboard.writeText(text);

     copyToClipboard("Hello,world")

    检查日期适合合法:const isDateValid=(...val)=>!Number.isNan(new Date(...val).valueOf());

                                         isDateValid("December 17, 1995 03:24:00"); //result :true

    查找日期位于一年中的第几天

         const dayOfYear=(date)=>Math.floor((date-new Date(date.getFullYear(),0,0))/1000/60/60/24);

        dayOfYear(new Date());//result :272

    英文字符串首字母大写  js没有内置的首字母大写函数,因此可以可以使用如下代码

      const capitalize= str=>str.charAt(0).toUpperCase()+str.slice(1)   //charAt(0) 获取下表为0的元素    str.slice(1) 将str从下表为1开始删除,并返回被删除的元素    slice(index,deletelen,...addelement)
                capitalize("follow for more");  //Follow for more

    计算两个日期之间相差多少天

    const dayDif=(date1,date2)=>Math.ceil(Math.abs(date1.getTime()-date2.getTime())/86400000);

    dayDif(new Date("2020-10-21"),new Date("2021-10-22"));   //result:366

    数组去重 可以使用js中的Set轻松删除重复项
    const removeDumplicates= (arr)=>[...new Set(arr)];
              removeDumplicates([1,2,3,4,5,2,3,4,5]);//result : [1,2,3,4,5]

    从URL获取查询参数

    const getParameters=(URL)=>{
    URL=JSON.parse('{"'+
    decodeURI(URL.split("?")[1])
    .replace(/"/g,'\"')
    .replace(/&/g,'","')
    .replace(/=/g,'":"')+
    '"}'

    )

     return JSON.stringfy(URL);
    }

     getParameters(window.locaton)

    也可以使用如下:Object。fromEnteries(new URLSearchParams(window.location.search))

    求数字的平均值
     const average=(...args)=>args.reduce((a,b)=>a+b)/args.length;//reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

    回到顶部:可以使用window.scrollTo(0,0)方法自动回滚到顶部,将x,y都设置为0;
      const goToTop =()=>window.scrollTo(0,0);

    检验数组是否为空

    判断代码是否为空,将返回true或者false
     const isNotEmpty=arr=>Array.isArray(arr)&&arr.length>0;

    获取用户选择的文本:使用内置的getSelection属性获取用户选择的文本
     const getSelectedText=()=>window.getSelection().toString();

  • 相关阅读:
    在终端聊天
    Vue双向数据绑定的原理
    手动封装on,emit,off
    浅谈Vue中组件传值的几种方式
    常见的一些性能优化的小方法
    常见的一些JS兼容问题
    移动布局的方法
    移动布局的方法
    快速、高效的学习vuex
    移动端300ms延迟原因及解决方案
  • 原文地址:https://www.cnblogs.com/chenlongsheng/p/15353409.html
Copyright © 2020-2023  润新知