您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax |

15个值得收藏的JavaScript函数

51自学网 2022-05-02 21:31:30
  javascript

1、逆转数字

const reverseNumber = n =>  parseFloat(`${n}`.split('').reverse().join('')) * Math.sign(n);reverseNumber(123); // 321reverseNumber(-200); // -2reverseNumber(32.4); // 4.23reverseNumber(-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); // 24factorial(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 =>      ({        '&': '&amp;',        '<': '&lt;',        '>': '&gt;',        "'": '&#39;',        '"': '&quot;'      }[tag] || tag)  );escapeHTML('<a href="#" rel="external nofollow" >tntweb</a>'); 

9、Unescapes 转义 HTML 字符

const unescapeHTML = str =>  str.replace(    /&amp;|&lt;|&gt;|&#39;|&quot;/g,    tag =>      ({        '&amp;': '&',        '&lt;': '<',        '&gt;': '>',        '&#39;': "'",        '&quot;': '"'      }[tag] || tag)  );unescapeHTML('&lt;a href=&quot;#&quot;&gt;tntweb&lt;/a&gt;');

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('🚗'); // 4byteSize('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}'); // trueisValidJSON('{"name":"tntweb",age:"20"}'); // falseisValidJSON(null); // true

到此这篇关于15个值得收藏的JavaScript函数的文章就介绍到这了,更多相关JavaScript函数内容请搜索wanshiok.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持wanshiok.com!


用Vue封装导航栏组件
Vue.js 实现tab切换并变色操作讲解
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1