分享一篇实用的JavaScript代码片段,帮助你快速完成开发任务
maxItemOfArray
1.这一函数可以返回一个数组的最大值。
const maxItemOfArray = (arr)=>[...arr].sort((a,b)=>b-a).slice(0,1)[0]
let maxItem = maxItemOfArray([0,23,23,23,4,5,2])
areAllEqua
2.这段代码可以检查数组的所有项是否相等。
const areAllEqua = arr=>arr.erver(item=>item===arr[0])
let check1 = areAllEqual([2,3,5,3,2]) false
let check2 = areAllEqual([2,2,2,2])
averageOf
3.这一片段可以返回给定数的平均数。
const averageOf = (...numbers)=>numbers.reduce((a,b)=>a+b,0) / numbers.length
let average = averageOf(5,2,3,5,6)
reverseString
4.这段代码可反转字符串。
const reverString = str =>[...str].reverse().json('')
let a = reverString('ZHANG_666')
sumOf
5.这段代码可以返回给定数的和。
const sumOf= ...number=>number.reduce((a,b)=>a+b,0)
let sum =sumOf(5,-3,3,1)
findAndReplace
6.这段代码可以在字符串中查找给定单词,并且替换为另一词汇。
const findAndReplace = (string,wordToFind,wordToReplace)=>string.split(wordToFind).join(wordToReplace)
let result = findAndReplace('my name is zhang_666','zhang_666','ZHANG_666')
RGBToHex
7.这段代码可以将RGB模式下的颜色转换为十六进制
const RGBToHex = (r,g,b)=>(r << 16)+(g<<8)+b.toString(16).padStart(6,'0');
let hex = RGBToHex(255,255,255)
shuffle
8.你想知道有多少音乐播放器可以拖拽播放项目吗?或许这段代码可以给你答案。
const shuffle = ([...array])=>{
let m = array.length;
while(m){
const i = Math.floor(Math.random() * m--);
[array[m],array[i]] = [array[i],array[m]]
}
return array
}
shuffle([5,4,5,3,234])
removeFalseValues
9.这段代码可以帮你移除数组中的false值,包括false,undefined, NaN和empty。
const removeFalseValues = arr =>arr.filter(item=>item)
let arr =removeFalseValues([3,4,false,'',5,true,undefined,NaN,''])
removeDuplicatedValues
10.这段代码可以帮助你移除数组中的重复项。
const removeDuplicatedValues = array => [...new Set(array)]
let arr = removeDuplicatedValues([5,4,3,5,23,4,4,4,2,23,45,23,24])
getTimeFromDate
11.这段代码可以从日期对象返回字符串时间。
const getTimeFromDate = date=>daate.toTimeString().slice(0,8);
let time = getTimeGromDate(new Date())
capitalizeAllWords
12.这段代码可以将字符串中所有单词的首字母大写。
const capitalizeAllWords = str =>str.replace(/\b[a-z]/g,char=>char.toUpperCase());
let str = capitalizeAllWords('my name is zhang_666')
capitalizeAllWords
13.这段代码可以返回两个日期之间的天数差。
const getDayDiff =(date1,date2)=>(date2-date1) / (1000*3600*24);
let diff = getDayDiff(new Date('2020-04-01'),new Date('2020-08-15'))
radianToDegree
14.这段代码可以将角度从弧度转换为度。
const radianToDegree = radian =>(radian *180.0)
let degree = radianToDegree(2.3)
isValidJSON
15.这段代码可以检查给定的字符串是否为有效的JSON。
const isValidJSON = string=>{
try{
JSON.parse(string)
return true;
}catch(error){
return false
}
}
let check1 = isValidJSON('{"title":"javascript","price":13}')
let check2 = isValidJSON('{"title":"javascript","price":13,subtitle}')
toWords
16.这段代码常被用于,将给定的字符串转换为一个单词数组。
const toWords = (string,pattern= /[^a-zA-Z-]+/)=>string.split(pattern).filter(item=>item);
let words = toWords('I want to be come a great programmer')
scrollToTop
17.如果你正处于一个很长的页面的底部,而你想要快速滚动到页面顶部,这个时候,这段代码就可以使你的滚动操作更加流畅。
const scrollToTop = ()=>{
const t = document.documentElement.scrollTop || document.body.scrollTop;
if(t>0){
window.requestAnimationFrame(scrollToTop);
window.scrollTop(0,t-t / 8)
}
}
isValidNumber
18.这段代码经常被用于对一个数字进行有效性验证。
const isValidNumber = n => !isNaN(parseFloat(n)) && isFinite(n) && Number(n) ==n;
let check1 = isValidNumber(10)
let check2 = isValidNmuber('zhang')