15个值得收藏的JavaScript函数
程序员文章站
2022-03-10 08:07:18
目录5、判断当前运行环境是否为node.js8、转义字符串以在 html 中使用9、unescapes 转义 html 字符12、获取不带任何参数或片段标识符的当前 url15、检查字符串是否为有效的...
1、逆转数字
const reversenumber = n => parsefloat(`${n}`.split('').reverse().join('')) * math.sign(n); reversenumber(123); // 321 reversenumber(-200); // -2 reversenumber(32.4); // 4.23 reversenumber(-32.4); // -4.23
2、获取数组中最大的n个数字
const maxfromarray = (array, number = 1) => [...array] .sort((x, y) => y -x).slice(0, number); maxfromarray([2, 1, 4, 3, 5, 6]); // [6] maxfromarray([2, 1, 4, 3, 6, 6], 2); // [6, 6]
3、计算阶乘
const factorial = (number) => number < 0 ? (() => { throw new typeerror('类型错误'); })() : number <= 1 ? 1 : number * factorial(number - 1); factorial(4); // 24 factorial(10); // 3628800
4、判断当前运行环境是否为浏览器
const isbrowser = () => ![typeof window, typeof document].includes('undefined'); isbrowser(); // false (node) isbrowser(); // true (browser)
5、判断当前运行环境是否为node.js
const isnode = () => typeof process !== 'undefined' && !!process.versions && !!process.versions.node; isnode(); // true (node) isnode(); // false (browser)
6、获取url上的参数
const geturlparams = url => (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce( (a, v) => ( (a[v.slice(0, v.indexof('='))] = v.slice(v.indexof('=') + 1)), a ), {} ); geturlparams('qq.com'); // {} geturlparams('https://xx.com?name=tntweb&age=20'); // {name: 'tntweb', age: '20'}
7、rgb(x,x,x)颜色表达方式格式转换成对象格式
const torgbobject = rgbstr => { const [red, green, blue] = rgbstr.match(/\d+/g).map(number); return { red, green, blue }; }; torgbobject('rgb(100, 150, 200)'); // {red: 100, green: 150, blue: 200}
8、转义字符串以在 html 中使用
const escapehtml = str => str.replace( /[&<>'"]/g, tag => ({ '&': '&', '<': '<', '>': '>', "'": ''', '"': '"' }[tag] || tag) ); escapehtml('<a href="#" rel="external nofollow" >tntweb</a>');
9、unescapes 转义 html 字符
const unescapehtml = str => str.replace( /&|<|>|'|"/g, tag => ({ '&': '&', '<': '<', '>': '>', ''': "'", '"': '"' }[tag] || tag) ); unescapehtml('<a href="#">tntweb</a>');
10、生成指定范围内的随机整数
const randomintegerinrange = (min, max) => math.floor(math.random() * (max - min + 1)) + min; randomintegerinrange(1, 7); // 1 - 7
11、将波浪号路径转换为绝对路径
const reversepath = str => str.replace(/^~($|\/|\\)/, `${require('os').homedir()}$1`); reversepath('~/web'); // '/users/[username]/web'
12、获取不带任何参数或片段标识符的当前 url
const getbaseurl = url => url.replace(/[?#].*$/, ''); getbaseurl('https://xx.com/index?name=tntweb&company=tencent'); // https://xx.com/index
13、以字节为单位返回字符串的长度
const bytesize = str => new blob([str]).size; bytesize('????'); // 4 bytesize('hello world'); // 11
14、随机获取数组中元素
const randomly = arr => arr[math.floor(math.random() * arr.length)]; randomly([1, 3, 5, 7, 9, 11]);
15、检查字符串是否为有效的 json
const isvalidjson = str => { try { json.parse(str); return true; } catch (e) { return false; } }; isvalidjson('{"name":"tntweb","age":20}'); // true isvalidjson('{"name":"tntweb",age:"20"}'); // false isvalidjson(null); // true
到此这篇关于15个值得收藏的javascript函数的文章就介绍到这了,更多相关javascript函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: java数据结构基础:稀疏数组
下一篇: 乡下开店卖什么利润大?有哪些选择?
推荐阅读
-
JavaScript实用库:Lodash源码数组函数解析(十一)without以及很多我没详戏记细过的
-
如何写JS数组sort的比较函数_javascript技巧
-
一些常用的JS功能函数代码_javascript技巧
-
javascript提取URL的搜索字符串中的参数(自定义函数实现)_javascript技巧
-
获取JavaScript异步函数的返回值实例详解
-
Javascript操作cookie的函数代码_javascript技巧
-
JavaScript, 函数是实现异步的基础
-
js类中获取外部函数名的方法_javascript技巧
-
Javascript 函数中的参数使用分析_javascript技巧
-
解决function函数内的循环变量_javascript技巧