正在阅读:
- 首页 » 开发运维 » 前端 » 18个实用的JavaScript代码片段、工具、方法
18个实用的JavaScript代码片段、工具、方法
01 maxItemOfArray
这一函数可以返回一个数组的最大值。
const maxItemOfArray = (arr) => [...arr].sort((a,b) => b一a).slice(0,1)[0]; let maxItem = maxItemOfArray([3,5,12,5]);
02 areAllEqual
这段代码可以检查数组的所有项是否相等。
const areAllEqual = array => array.every(item => item === array[0]); let check1 = areAllEqual([3,5,2]); // false let check2 = areAllEqual([3,3,3]); // true
03 averageOf
这一片段可以返回给定数的平均数。
const averageOf = (...numbers) => numbers.reduce((a,b)=>a+b,0) / numbers.length; let average = average0f(5,2,4,7); // 4.5
04 reverseString
这段代码可反转字符串。
const reverseString = str => [...str].reverse().join('') ; let a = reverseString('Have a nice day!'); // !yad ecin a evaH
05 sumOf
这段代码可以返回给定数的和。
const sumOf = (...numbers) => numbers.reduce((a, b) => a+b, 0) ; let sum = sumOf(5,-3,2,1); // 5
06 findAndReplace
这段代码可以在字符串中查找给定单词,并且替换为另一词汇。
const findAndReplace = (string,wordToFind,wordToReplace) =>string.split(wordToFind).join(wordToReplace); let result = findAndReplace('I like banana','banana','apple'); // I like apple
07 RGBToHex
这段代码可以将RGB模式下的颜色转换为十六进制。
const RGBToHex=(r,g,b)=>((r<<16)+(g<<8)+b).toString(16).padstart(6,'0'); let hex = RGBToHex(255,255,255); // ffffff
08 shuffle
你想知道有多少音乐播放器可以拖拽播放项目吗?或许这段代码可以给你答案。
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; }
09 removeFalseValues
这段代码可以帮你移除数组中的false值,包括false,undefined, NaN和empty。
const removeFalseValues = arr => arr.filter(item => item); let arr = removeFalseValues([3,4,false,"",5,true,undefined,NaN,""]); // [3,4,5,true]
10 removeDuplicatedValues
这段代码可以帮助你移除数组中的重复项。
const removeDuplicatedValues = array => [...new Set(array)]; let arr = removeDuplicatedValues([5,3,2,5,6,1,1,6]); // [5,3,2,6,1]
11 getTimeFromDate
这段代码可以从日期对象返回字符串时间。
const getTimeFromDate = date => date.toTimeString().slice(0,8) ; let time = getTimeFromDate(new Date()); // 09:46:08
12 capitalizeAllWords
这段代码可以将字符串中所有单词的首字母大写。
const capitalizeAllWords = str => str.replace(/\b[a-z]/g, char =>char.toUpperCase()); let str = capitalizeAllWords('i love reading book'); // I Love Reading Book
13 getDayDiff
这段代码可以返回两个日期之间的天数差。
const getDayDiff = (date1, date2) => (date2 - date1) / (1000*3600*24); let diff = getDayDiff(new Date('2020-04-01'), new Date('2020-08-15'));//136
14 radianToDegree
这段代码可以将角度从弧度转换为度。
const radianToDegree = radian => (radian*180.0) / Math.PI; let degree = radianToDegree(2.3); // 131.78
15 isValidJSON
这段代码可以检查给定的字符串是否为有效的JSON。
const isValidJSON = string => { try { JSON.parse(string); return true; } catch (error) { return false; } }; let check1 = isValidJSON('{"title":"javascript","price":14}'); //true let check2 = isValidJSON('{"title":"javascript","price":14,subtitle}'); // false
16 toWords
这段代码常被用于,将给定的字符串转换为一个单词数组。
const toWords = (string, pattern = /[^a-zA-Z-]+/) =>string.split(pattern).filter(item => item); let words = toWords('I want to be come a great programmer'); // ["I","want", "to","be",come","a","great","progr ammer"]
17 scrollToTop
如果你正处于一个很长的页面的底部,而你想要快速滚动到页面顶部,这个时候,这段代码就可以使你的滚动操作更加流畅。
const scrollToTop = () => { const t = document.documentElement.scrollTop || document.body.scrollTop; if (t>0) { window.requestAnimationFrame(scrollToTop); window.scrollTo(0,t-t/8); } };
18 isValidNumber
这段代码经常被用于对一个数字进行有效性验证。
const isValidNumber = n => !isNaN(parseFloat(n)) && isFinite(n) && Number(n)===n; let check1 = isValidNumber(10); // true let check2 = isValidNumber('a'); // false
该日志由 bemender 于 2020年10月08日 发表
转载请注明文本地址:https://www.bemhome.com/post/31.html