zoukankan      html  css  js  c++  java
  • js简洁模式代码

     1 // 创建过去七天的数组,如果将代码中的减号换成加号,你将得到未来7天的数组集合
     2 [...Array(7).keys()].map(days => new Date(Date.now() - 86400000 * days));
     3 
     4 // 生成长度为11的随机字母数字字符串
     5 Math.random().toString(36).substring(2);
     6 
     7 // 获取URL的查询参数
     8 q={};location.search.replace(/([^?&=]+)=([^&]+)/g,(_,k,v)=>q[k]=v);q;
     9 
    10 // 创建本地时间
    11 new Date().toLocaleString().slice(10,19)
    12 
    13 // 随机更改数组元素顺序,混淆数组  随机排序
    14 (arr) => arr.slice().sort(() => Math.random() - 0.5)
    15 
    16 // 生成随机十六进制代码 如:'#c618b2'
    17 '#' + Math.floor(Math.random() * 0xffffff).toString(16).padEnd(6, '0');
    18 
    19 // 用字符串返回一个键盘图形
    20 (_=>[..."`1234567890-=~~QWERTYUIOP[]\~ASDFGHJKL;'~~ZXCVBNM,./~"].map(x=>(o+=`/${b='_'.repeat(w=x<y?2:' 667699'[x=["BS","TAB","CAPS","ENTER"][p++]||'SHIFT',p])}\|`,m+=y+(x+'    ').slice(0,w)+y+y,n+=y+b+y+y,l+=' __'+b)[73]&&(k.push(l,m,n,o),l='',m=n=o=y),m=n=o=y='|',p=l=k=[])&&k.join`
    21 `)()
     1 //扁平化n维数组
     2 [1,[2,3]].flat(2) //[1,2,3]
     3 [1,[2,3,[4,5]].flat(3) //[1,2,3,4,5]
     4 [1,[2,3,[4,5]]].toString()  //'1,2,3,4,5'
     5 [1[2,3,[4,5[...]].flat(Infinity) //[1,2,3,4...n]
     6 
     7 //去重
     8 Array.from(new Set([1,2,3,3,4,4])) //[1,2,3,4]
     9 [...new Set([1,2,3,3,4,4])] //[1,2,3,4]
    10 
    11 //最大值
    12 Math.max(...[1,2,3,4]) //4
    13 Math.max.apply(this,[1,2,3,4]) //4
    14 [1,2,3,4].reduce( (prev, cur,curIndex,arr)=> {
    15  return Math.max(prev,cur);
    16 },0) //4
    17 
    18 //求和
    19 [1,2,3,4].arr.reduce(function (prev, cur) {
    20    return prev + cur;
    21  },0) //10 
    22 
    23 //合并
    24 [1,2,3,4].concat([5,6]) //[1,2,3,4,5,6]
    25 [...[1,2,3,4],...[4,5]] //[1,2,3,4,5,6]
    26 [1,2,3,4].push.apply([1,2,3,4],[5,6]) //[1,2,3,4,5,6]
    27 
    28 //判断是否包含值
    29 [1,2,3].includes(4) //false
    30 [1,2,3].indexOf(4) //-1 如果存在换回索引
    31 [1, 2, 3].find((item)=>item===3)) //3 如果数组中无值返回undefined
    32 [1, 2, 3].findIndex((item)=>item===3)) //2 如果数组中无值返回-1
    33 
    34 //类数组转化
    35 Array.prototype.slice.call(arguments) //arguments是类数组(伪数组)
    36 Array.prototype.slice.apply(arguments)
    37 Array.from(arguments)
    38 [...arguments]
    39 //类数组:表示有length属性,但是不具备数组的方法
    40 //call,apply:是改变slice里面的this指向arguments,所以arguments也可调用数组的方法
    41 //Array.from是将类似数组或可迭代对象创建为数组
    42 //...是将类数组扩展为字符串,再定义为数组
    43 
    44 //所有项是否满足
    45 [1,2,3].every(item=>{return item>2}) //false
    46 
    47 //有一项满足
    48 [1,2,3].some(item=>{return item>2}) //true
    49 
    50 //每一项设置值
    51 [1,2,3].fill(false) //[false,false,false] 
    52 
    53 //对象和数组转化
    54 Object.keys({name:'张三',age:14}) //['name','age']
    55 Object.values({name:'张三',age:14}) //['张三',14]
    56 Object.entries({name:'张三',age:14}) //[[name,'张三'],[age,14]]
    57 Object.fromEntries([name,'张三'],[age,14]) //ES10的api,Chrome不支持 , firebox输出{name:'张三',age:14}
  • 相关阅读:
    .NET连接SAP系统专题:C#如何导入内文至SAP(十一)
    又开始要忙了
    .NET连接SAP系统专题:C#调用BAPI给账户赋予权限(八)
    抉择之苦
    SAP屏幕设计器专题:下拉列表框(四)
    SAP中新建客制表流程
    SAP中使用ABAP远程连接MS Sql Server服务器
    SAP屏幕设计器专题:表格控件(六)
    .NET连接SAP系统专题:C#(NCO3)调用BAPI的一些说明(六)
    SAP屏幕设计器专题:树控件的使用(九)
  • 原文地址:https://www.cnblogs.com/zhenguo-chen/p/10850289.html
Copyright © 2011-2022 走看看