js 常用方法集合(持续更新)
1.价格格式化 export function moneyFilter(val){ if(!val||val==0){ return "0.00" } val = Math.floor(Number(val)*100+0.500001) let decimalStr = val%100 if(decimalStr<10){ decimalStr = "0"+decimalStr } let integerStr =String(Math.floor(val/100)) let len = integerStr.length let newStr = "" for(var i = 0; i < Math.ceil(len/3); i++) { newStr=integerStr.substring(len-(3*i),len-(3*(i+1)))+(i>0?","+newStr:newStr) } return newStr+"."+decimalStr } 2.字符串转数字 export function toNumber(str){ var str = str.split("") str = str.map(item=>+item) var num = str.reduce((x,y)=>{ return x*10+y }) return num } 3.利用reduce()求积: export function quadrature(arr){ pow(x,y){ return arr.reduce((x,y)=>x*y); } } 4.首字母大写其他小写 export function normalize(arr) { return arr.map(item=>{ return item.split("")[0].toUpperCase()+item.split("").slice(1).reduce((x,y)=>{ return x.toLowerCase() + y.toLowerCase() }) } ) } 5.数组去重 1)方法一: export function duplicateRemovalArr(arr){ return arr.filter((element,index,arr)=>{ return self.indexOf(element) === index }) } 2)方法二: var arr = [1,2,1,1,2,3,4,5,5] arr = [...new Set(arr)] 3)方法三: export function duplicateRemovalArr(arr){ arr = new Set(arr) return Array.from(arr) } 6.字符串去重 function duplicateRemovalString(str){ return [...new Set(str)].join("") } 7.时间戳转日期时间格式 function add0(m){return m<10?"0"+m:m } export function format(shijianchuo,type){ //shijianchuo是整数,否则要parseInt转换 let T = parseInt(shijianchuo) var time = new Date(T); var y = time.getFullYear(); var m = time.getMonth()+1; var d = time.getDate(); var h = time.getHours(); var mm = time.getMinutes(); var s = time.getSeconds(); //年月日 if(type=='Year'){ return y+"-"+add0(m)+"-"+add0(d) }else if(type=='Hours'){ //时分秒 return add0(h)+":"+add0(mm)+":"+add0(s); } return y+"-"+add0(m)+"-"+add0(d)+" "+add0(h)+":"+add0(mm)+":"+add0(s); } 8.创建指定时间后 resolve 的 Promise export function delay(timespan = 0) { return new Promise(resolve => setTimeout(resolve, timespan)); } 9.生成随机数 function randombetween(min, max){ return min + (Math.random() * (max-min +1)); }
个人集成方法集合~ 后续持续更新
本人小白,请多多关照,如有问题请不吝指出。
学无止境~~~
csdn地址:https://blog.csdn.net/qq_38369907