正在阅读:
- 首页 » 开发运维 » 前端 » 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 evaH05 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 apple07 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 Book13 getDayDiff
这段代码可以返回两个日期之间的天数差。
const getDayDiff = (date1, date2) => (date2 - date1) / (1000*3600*24);
let diff = getDayDiff(new Date('2020-04-01'), new Date('2020-08-15'));//13614 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}'); // false16 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日 发表
转载请注明文本地址:http://www.bemhome.com/post/31.html
