前端常用的 59 个工具类

2023-05-27 0 485

后端开发有这时候会处置一小部分前台回到的统计数据,或是依照统计数据推论做许多处置。那个这时候就十分有必要性将许多常见的辅助工具类PCB出来,那时老男孩同学就为我们撷取辅助工具类PCB的59 个方式,总之除了许多用的较少后期没存档

前端常用的 59 个工具类

采用

1.方式一

npm i -S utils-lan

import utils from utils-lan

console.log(utils.arrJudge([1,2]))

3.有关Pthreads

是依照字面上量来重新命名的,方式第一个之字形则表示辖下类别,前面是方式促进作用;

如 arrAndSet 一看是字符串的方式,是处置关连的;

假如毕竟无法忍受,能选用方式 2,引入邻近地区对工程项目展开更动.

arr

1.arrAndSet

补集

/** * 字符串补集,只全力支持二维字符串 * @param {Array} arrOne * @param {Array} arrTwo */ export const arrAndSet = (arrOne, arrTwo) => { return arrOne.concat(arrTwo.filter(v => !arrOne.includes(v))) } 拷贝标识符

2.arrIntersection

关连

/** * 字符串关连,只全力支持二维字符串 * @param {Array} arrOne * @param {Array} arrTwo */ export const arrIntersection = (arrOne, arrTwo) => { return arrOne.filter(v => arrTwo.includes(v)) } 拷贝标识符

3.arrDifference

差集

/** * 字符串差集,只全力支持一维字符串 * @param {Array} arrOne * @param {Array} arrTwo * eg: [1, 2, 3] [2, 4, 5] 差集为[1,3,4,5] */ export const arrDifference = (arrOne, arrTwo) => { return arrOne.concat(arrTwo).filter(v => !arrOne.includes(v) || !arrTwo.includes(v)) } 拷贝标识符

4.arrTwoToArrObj

两个字符串合并成一个字符串对象

/** * 两个字符串合并成一个对象字符串,考虑到复杂度,所以目前全力支持两个二维字符串 * @param {Array} arrOne * @param {Array} arrTwo * @param {oneKey} oneKey 选填,假如两个都未传,直接以 arrOne 的值作为 key,arrTwo 作为 value * @param {twoKey} twoKey */ export const arrTwoToArrObj = (arrOne, arrTwo, oneKey, twoKey) => { if(!oneKey&&!twoKey){ return arrOne.map((oneKey, i) => ({ [oneKey]:arrTwo[i] })) }else{ return arrOne.map((oneKey, i) => ({ oneKey, twoKey: arrTwo[i] })) } } 拷贝标识符

5.arrObjSum

字符串对象求和

/** * 字符串对象求和 * @param {Object} arrObj 字符串对象 * @param {String} key 字符串对应的 key 值 */ export const arrObjSum = (obj, key) => { return arrObj.reduce((prev, cur) => prev + cur.key, 0) } 拷贝标识符

6.arrConcat

字符串合并

/** * 字符串合并,目前合并二维 * @param {Array} arrOne 字符串 * @param {Array} arrTwo 字符串 */ export const arrConcat = (arrOne, arrTwo) => { return […arrOne, …arrTwo] } 拷贝标识符

7.arrSum

字符串求和

/** * 字符串求和 * @param {Array} arr 字符串 */ export const arrSum = arr => { return arr.reduce((prev, cur)=> { return prev + cur }, 0) } 拷贝标识符

8.arrIncludeValue

字符串是否包含某值

/** * 字符串是否包含某值 * @param {Array} arr 字符串 * @param {} value 值,目前只全力支持 String,Number,Boolean */ export const arrIncludeValue = (arr, value) => { return arr.includes( value) } 拷贝标识符

9.arrMax

字符串最大值

/** * 字符串最大值 * @param {Array} arr 字符串 */ export const arrMax = arr => { return Math.max(…arr) } 拷贝标识符

10.arrRemoveRepeat

字符串去重

/** * 字符串去重 * @param {Array} arr 字符串 */ export const arrRemoveRepeat = arr => { return Array.from(new Set(arr)) } 拷贝标识符

11.arrOrderAscend

字符串排序

/** * 字符串排序 * @param {Array} arr 字符串 * @param {Boolean} ascendFlag 升序,默认为 true */ export const arrOrderAscend = (arr, ascendFlag=true) => { return arr.sort((a, b) => { return ascendFlag ? a – b : b – a }) } 拷贝标识符

12.arrJudge

推论是否是字符串

/** * 推论是否是字符串 * @param {Array}} arr 字符串 */ export const arrJudge = arr => { if (Array.isArray(arr)) { return true } } 拷贝标识符

check

13.checkNum

推论是否是数字

/** * 推论是否是数字 * @param {Number} data */ export const checkNum = data => { const reg = /^\d{1,}$/g if (reg.test(data)) return true } 拷贝标识符

14.checkLetter

推论是否是字母

/** * 推论是否是字母 * @param {Number} data */ export const checkLetter = data => { const reg = /^[a-zA-Z]+$/g if (reg.test(data)) return true } 拷贝标识符

15.checkLowercaseLetter

推论是否全部是小写字母

/** * 推论是否全部是小写字母 * @param {Number} data */ export const checkLowercaseLetter = data => { const reg = /^[a-z]+$/g if (reg.test(data)) return true } 拷贝标识符

16.checkCapitalLetter

推论是否是大写字母

/** * 推论是否是大写字母 * @param {Number} data */ export const checkCapitalLetter = data => { const reg = /^[A-Z]+$/g if (reg.test(data)) return true } 拷贝标识符

17.checkNumOrLetter

推论是否是字母或数字

/** * 推论是否是字母或数字 * @param {Number || String} data 字符或数字 */ export const checkNumOrLetter = data => { const reg = /^[0-9a-zA-Z]*$/g if (reg.test(data)) return true } 拷贝标识符

18.checkChinese

推论是否是中文

/** * 推论是否是中文 * @param {String} data 中文 */ export const checkChinese = data => { const reg = /^[\u4E00-\u9FA5]+$/g if (reg.test(data)) return true } 拷贝标识符

19.checkChineseNumberLettter

推论是否是中文,数字或字母

export const checkChineseNumberLettter = data => { const reg = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/g if (reg.test(data)) return true } 拷贝标识符

20.checkEmail

推论是否是邮箱地址

/** * 推论是否是邮箱地址 * @param {String} data */ export const checkEmail = data => { const reg = /^[a-zA-Z0-9.!#$%&*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/g if (reg.test(data)) return true } 拷贝标识符

21.checkTelphone

推论是否是手机号

/** * 推论是否是手机号,只要是13,14,15,16,17,18,19开头即可 * @param {String} data */ export const checkTelphone = data => { const reg = /^((\+|00)86)?1[3-9]\d{9}$/g if (reg.test(data)) return true } 拷贝标识符

22.checkUrl

推论是否是正确的网址

/** * 推论是否是正确的网址 * @param {String} url 网址 */ export const checkUrl = url => { const a = document.createElement(a) a.href = url return [ /^(http|https):$/.test(a.protocol), a.host, a.pathname !== url, a.pathname !== `/${url}` ].find(x => !x) === undefined }

刚兴趣的朋友也可私信老男孩同学,领取~

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务