UNPKG

@3r/tool

Version:

🏃‍包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合

947 lines (888 loc) 30.7 kB
🏃‍包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合 ![action](https://img.shields.io/github/actions/workflow/status/linyisonger/3r.Tool/cd.yml)![npm](https://img.shields.io/npm/dw/@3r/tool)[![Coverage Status](https://coveralls.io/repos/github/linyisonger/3r.Tool/badge.svg?branch=master)](https://coveralls.io/github/linyisonger/3r.Tool?branch=master)![release](https://img.shields.io/librariesio/release/npm/@3r/tool)![npm](https://img.shields.io/npm/v/@3r/tool)![sourcerank](https://img.shields.io/librariesio/sourcerank/npm/@3r/tool)![NPM](https://img.shields.io/npm/l/@3r/tool)[![Code Climate](https://codeclimate.com/github/linyisonger/3r.Tool/badges/gpa.svg)](https://codeclimate.com/github/linyisonger/3r.Tool)[![Test Coverage](https://codeclimate.com/github/linyisonger/3r.Tool/badges/coverage.svg)](https://codeclimate.com/github/linyisonger/3r.Tool/coverage)[![codecov](https://codecov.io/gh/linyisonger/3r.Tool/graph/badge.svg?token=0VLDX7ON0N)](https://codecov.io/gh/linyisonger/3r.Tool)[![docs](https://img.shields.io/badge/docs-info-blue)](https://linyisonger.github.io/3r.Tool/) #### 如何使用工具包 ? 👇Vue 小栗子 🐿 1.在工程下执行命令`npm i @3r/tool`安装依赖包 2.引用对应的工具类`import { Maths } from "@3r/tool";` 3.使用工具类的方法`this.sum = Maths.sum([1, 2, 3]);` ```vue <template> <div> {{ sum }} </div> </template> <script> import { Maths } from "@3r/tool"; export default { data() { return { sum: 0, }; }, async created() { this.sum = Maths.sum([1, 2, 3]); }, }; </script> ``` 👇HTML 小栗子 🐿 1.定义一个`<script type="module"></script>`标签 2.引用对应的工具类`import { Maths } from "https://gcore.jsdelivr.net/npm/@3r/tool@0.0.14/index.js"`注意版本 3.使用工具类的方法`let sum = Maths.sum([1, 2, 3])` ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script type="module"> import { Maths } from "https://gcore.jsdelivr.net/npm/@3r/tool@0.0.14/index.js"; let sum = Maths.sum([1, 2, 3]); console.log(sum); </script> </body> </html> ``` #### Animation 动画模块 包含一些动画的方法. 以下是相关示例: ```js // TODO 可以参考相关示例 34.抽奖页面 // https://linyisonger.github.io/H5.Examples/ ``` #### Common 常用模块 包含一些常用的方法. 以下是相关示例: ```js console.log("深克隆", cloneDeep({})); console.log("执行时间", executionTime()); console.log("防抖", antiShake(() => {}, 1000)()); console.log("节流", throttle(() => {}, 1000)()); console.log("打组",group([1, 2, 3, 4, 5], (item, index) => item % 3)); console.log("一一对比",contrast([1, 2, 3], (curr, next) => curr + next == 3)); console.log("递归调用", recursive(tree, console.log)); ``` #### Convertor 转换模块 包含一些转换的方法. 以下是相关示例: ```js console.log("社会统一信用代码转换组织机构代码", Convertor.usciToOibc("91411100766237140X")); console.log("日期转换", Convertor.timeFormat(new Date(), "yyyy年MM月dd日 hh:mm:ss")); console.log("千分位处理", Convertor.thousands(10009992.12)); console.log("文本转base64", Convertor.textToBase64("1234")); console.log("base64转文本", Convertor.base64ToText("MTIzNA==")); console.log("json对象转换base64", Convertor.jsonToBase64({ a: 1 })); console.log("base64转换json对象", Convertor.base64ToJson("eyJhIjoxfQ==")); console.log("颜色转换", Convertor.hexToRgb("f2a")); console.log("颜色转换", Convertor.rgbToHex("rgb(235,239,241)")); console.log("xml输出文本", Convertor.xmlToText("<div>总金额 <span>100,000.00</span></div>")); console.log("数字转大写人民币", Convertor.numToAmountInWords(102030.0)); console.log("数字转中文", Convertor.numToChinese(102030)); console.log("url query 转对象", Convertor.urlQueryToObject("http://example.com/user?id=1&age=2")); console.log("url object 转 query", Convertor.urlObjectToQuery({ id: 1, age: 3 })); console.log("蛇形命名法 -> 大驼峰命名法", Convertor.snakeCaseToUpperCamelcase("lower_case_with_underscores")); console.log("蛇形命名法 -> 小驼峰命名法", Convertor.snakeCaseToLowerCamelcase("lower_case_with_underscores")); console.log("驼峰命名法 -> 蛇形命名法", Convertor.camelcaseToSnakeCase("LowerCaseWithUnderscores")); console.log("通过日期获取星座", Convertor.getConstellationByDate("09/14")); console.log("身份证号解析", "230504199607116664".citizenIdentificationNumberParse); console.log("字节转换", Convertor.byteFormat(1099511627776, 2)); console.log("四值法拆分", Convertor.fourValueSplit(1)); console.log("敏感信息加符号", Convertor.sensitivePlusSymbol("230504199607116664", "6,14")); console.log("将字符串中的全角转换为半角", Convertor.toHalfWidthChar("【你好呀】")); console.log("将字符串中的半角转换为全角", Convertor.toFullWidthChar("[哈哈哈哈]")); ``` #### Fakery 假数据模块 包含一些生成数据的方法. 以下是相关示例: ```js console.log("身份证号码", Fakery.citizenIdentificationNumber()); console.log("社会统一信用代码", Fakery.usci()); console.log("手机号码", Fakery.phoneNumber()); console.log("姓名", Fakery.fullName()); console.log("银行卡号码 [工商银行卡号]", Fakery.bankCardNumber()); ``` #### Generate 生成模块 包含一些生成的方法. 以下是相关示例: ```js console.log("范围数字", Generate.rangeNumber(1, 7)); // [ 1, 2, 3, 4, 5, 6 ] console.log("直线路径", Generate.straightLinePath(v2(0, 0), v2(0, 2), v2(2, 2))); // [{ x: 0, y: 0 },{ x: 0, y: 1 },{ x: 0, y: 2 },{ x: 1, y: 2 },{ x: 2, y: 2 }] console.log("最近一周", Generate.rangeDateByPastWeek()); // [ '2026-01-18', '2026-01-19', '2026-01-20', '2026-01-21', '2026-01-22', '2026-01-23', '2026-01-24'] console.log("最近半个月", Generate.rangeDateByPastHalfMonth()); // [ ..., '2026-01-18', '2026-01-19', '2026-01-20', '2026-01-21', '2026-01-22', '2026-01-23', '2026-01-24'] console.log("最近一个月", Generate.rangeDateByPastMonth()); // [ ...,'2026-01-18', '2026-01-19', '2026-01-20', '2026-01-21', '2026-01-22', '2026-01-23', '2026-01-24'] ``` #### Map 地图模块 包含一些与地图的方法. 以下是相关示例: ```js console.log(`获取地球的半径:${Map.EARTHRADIUS}米`); console.log(`计算郑州市到杭州市的距离约:${Map.distance({ latitude: 34.16, longitude: 112.42 }, { latitude: 30.3, longitude: 120.2 })}米`); ``` #### Market 证券市场 包含一些股票的算法. 以下是相关示例: ```js // 恒生电子的日k值 ———— https://stock.9fzt.com/ 九方智投 文章篇幅有限通过github访问测试文件 console.log("恒生电子KDJ值", Market.kdj(hundsunDayK.map(format9fzt)).pop()); console.log("恒生电子MACD值", Market.macd(hundsunDayK.map(format9fzt)).pop()); console.log("恒生电子RSI值", Market.rsi(hundsunDayK.map(format9fzt)).pop()); console.log("恒生电子BOLL值", Market.boll(hundsunDayK.map(format9fzt)).pop()); ``` #### Maths 数学模块 包含一些与数学的方法. 以下是相关示例: ```js console.log("获取整数12的所有因数", Maths.getFactors(12)); console.log("获取整数12的所有因数通过接近程度排序", Maths.getFactorsByApproach(12)); console.log("数组求和", Maths.sum([1, 2, 3, 4])); console.log("判断a与b符号是否相同", Maths.sameSign(1, -1)); console.log("角度转弧度", Maths.degreeToRad(45)); console.log("弧度转角度", Maths.radToDegree(0.7853981633974483)); console.log("交集 A∩B", Maths.intersection([{ x: 1 }, { y: 2 }, { a: 2, z: 3 }, false, true, 1, 3, 5, { a: 2, c: [1, 2] }], [true, 5, 5, { z: 3, a: 2 }])); console.log("对象是否相等", Maths.equal({ a: 2, z: 3 }, { z: 3, a: 2 })); console.log("删除重复项", Maths.removeRepeat([{ x: 1, y: 2 }, 2, 3, { y: 2, x: 1 }, 1, 4, 5, 6, 2, 3, 4, 4, 45, 4, 31])); console.log("补集", Maths.complementarySet([{ x: 1 }, { y: 2 }, { a: 2, z: 3 }, false, true, 1, 3, 5, { a: 2, c: [1, 2] }], [true, 5, 5, { z: 3, a: 2 }, 8, { z: 3, a: 3 }])); console.log("并集", Maths.union([1, 23, 4, 556, 14, 124], [123, 452, 231, 1, 14])); console.log("数组 通过下标改变位置 从3的位置移到1的位置", Maths.interchange([1, 2, 3, 4], 3, 1)); console.log("阶乘 10!", Maths.iterationFactorial(10)); console.log("勾股定理", Maths.pythagorasTheorem(3, 4)); console.log("在可及的范围内", Maths.inRange(4, 1, 5)); const tmp1 = [ "25952000000082304387", "25952000000087201733", "25952000000090118196", "25942000000019659408", "25612000000054155084", "25532000000052842129", "25532000000052851936", "25532000000054146405", "25532000000055013765", "25532000000059848250", "25532000000060442367", "25532000000060601106", "25532000000060608726", "25517000000000359888", "25517000000000359919", "25512000000097428790", "25512000000100563543", "25512000000102424320", "25512000000102597085", "25512000000102752873", "25512000000103419767", "25512000000103572164", "25512000000104032208", "25512000000106769094", "25512000000112158725", "25502000000047112733", "25502000000048343682", "25502000000048451040", "25502000000050714684", "25452000000044654007", "25452000000049599946", "25442000000297735183", "25442000000245640421", "25442000000261397155", "25442000000266690977", "25442000000266693510", "25442000000273172407", "25432000000059485890", "25422000000083037311", "25422000000085258326", "25422000000085279165", "25422000000085303128", "25422000000085306097", "25422000000085330902", "25417000000168993891", "25417000000168993892", "25417000000168993893", "25417000000168993894", "25417000000168993895", "25417000000168993897", "25417000000168993902", "25417000000168993911", "25417000000168993912", "25417000000168993918", "25417000000169201213", "25417000000172073521", "25417000000172133659", "25417000000172133660", "25417000000163598104", "25417000000163598106", "25417000000165292644", "25417000000168993889", "25417000000168993890", "25417000000160844554", "25417000000157367762", "25417000000057223411", "25417000000057223535", "25417000000057223714", "25417000000057223790", "25417000000057223233", "25414000000001072755", "25412000000122340263", "25412000000118945318", "25412000000119089726", "25412000000119107803", "25412000000119204248", "25412000000119471463", "25412000000120297750", "25412000000120328465", "25442000000290226876", "25412000000120941958", "25412000000121395275", "25412000000116199711", "25412000000116254488", "25412000000116616304", "25412000000116697807", "25412000000116715679", "25412000000116946845", "25412000000116983804", "25412000000116983289", "25412000000117741916", "25412000000118086888", "25412000000118124809", "25412000000114439180", "25412000000114488762", "25412000000114743795", "25412000000114811926", "25412000000115620620", "25412000000115998089", "25412000000112554675", "25412000000112602766", "25412000000112589056", "25412000000112615542", "25412000000112746786", "25412000000112959256", "25412000000113032169", "25412000000112984330", "25412000000113041284", "25412000000113244483", "25412000000113459027", "25412000000113698929", "25412000000113770066", "25412000000120009281", "25412000000111288624", "25412000000111327318", "25412000000111414716", "25412000000111434307", "25412000000111455754", "25412000000111544638", "25412000000111663701", "25412000000111697430", "25412000000111698291", "25412000000111989237", "25412000000110212570", "25412000000110213523", "25412000000110244229", "25412000000110319454", "25412000000110444409", "25412000000110577087", "25412000000110802083", "25412000000110845541", "25412000000111063897", "25412000000111126682", "25412000000111146121", "25412000000111196614", "25412000000111262940", "25412000000109236561", "25412000000109270067", "25412000000109337588", "25412000000109662043", "25412000000109671362", "25412000000109684766", "25412000000109711499", "25412000000109723893", "25412000000109884804", "25412000000110159900", "25412000000110168569", "25412000000110178137", "25412000000110187354", "25412000000110187358", "25412000000110192612", "25412000000110211625", "25412000000107722432", "25412000000107833168", "25412000000108088614", "25412000000108090206", "25412000000106564348", "25412000000111297763", "25412000000106592248", "25412000000106632530", "25412000000106649582", "25412000000106703164", "25412000000106787151", "25412000000106788788", "25412000000106878407", "25412000000106904698", "25412000000106953568", "25412000000106954558", "25412000000106967881", "25412000000106968069", "25412000000106976929", "25412000000107029619", "25412000000107043417", "25412000000107076557", "25412000000107092189", "25412000000107141523", "25412000000107331283", "25412000000107429470", "25412000000107570612", "25412000000105217246", "25412000000105266650", "25412000000105533417", "25412000000105683746", "25412000000105859899", "25412000000105887890", "25412000000105934174", "25412000000106036783", "25412000000106071103", "25412000000106419358", "25412000000106419802", "25412000000106448741", "25412000000106457218", "25412000000106464948", "25412000000106475485", "25412000000106482315", "25412000000106521156", "25412000000103835543", "25412000000103960002", "25412000000103998248", "25412000000104177710", "25412000000104436247", "25412000000104503667", "25412000000104508070", "25412000000104677580", "25412000000104740242", "25412000000104801455", "25412000000104929261", "25412000000104929884", "25412000000104959360", "25412000000104978437", "25412000000105009069", "25412000000105021962", "25412000000105046777", "25412000000105068952", "25412000000105099468", "25412000000105160008", "25412000000100995278", "25412000000101181885", "25412000000101630310", "25412000000101983348", "25412000000102702184", "25412000000102887134", "25412000000103069845", "25412000000103079198", "25412000000103079392", "25412000000103106647", "25412000000103125983", "25412000000103143714", "25412000000103150915", "25412000000113727880", "25412000000113753623", "25412000000103170377", "25412000000098748140", "25412000000098952272", "25412000000099238205", "25412000000099267434", "25412000000099379174", "25412000000099482674", "25412000000099728916", "25412000000100447474", "25412000000100513833", "25412000000100736615", "25412000000097525872", "25412000000097809830", "25412000000097818671", "25412000000097836197", "25412000000097836728", "25412000000097818478", "25412000000097827144", "25412000000097845732", "25412000000097871708", "25412000000098030644", "25412000000098346543", "25412000000098441886", "25412000000096420388", "25412000000096873965", "25412000000094963967", "25412000000095372422", "25412000000092542950", "25412000000092775129", "25412000000101259484", "25412000000096845024", "25412000000096468768", "25412000000091735331", "25412000000089832029", "25412000000107610084", "25412000000082031943", "25412000000081371831", "25412000000082431775", "25412000000074913691", "25412000000078272510", "25372000000124804435", "25372000000127043168", "25372000000127222257", "25372000000128679104", "25372000000109922220", "25372000000116226163", "25372000000116255328", "25372000000117593885", "25372000000118460477", "25372000000119530458", "25372000000122506393", "25362000000043380971", "25352000000050816437", "25352000000051012092", "25352000000053646485", "25352000000054025265", "25352000000055569527", "25342000000078116860", "25342000000081613546", "25342000000068247744", "25342000000073302165", "25342000000068255762", "25342000000073278718", "25342000000068263076", "25342000000073302408", "25342000000068272238", "25342000000073302052", "25342000000068272491", "25342000000073288155", "25342000000073236015", "25342000000073794167", "25332000000196814163", "25332000000193466382", "25332000000193944462", "25332000000180515792", "25332000000180525326", "25332000000180535127", "25332000000180535162", "25332000000180545182", "25332000000180554716", "25332000000180554743", "25332000000180564495", "25332000000180704007", "25332000000180995864", "25332000000186995911", "25332000000180387654", "25332000000180426883", "25332000000180446594", "25332000000180466135", "25332000000180485942", "25332000000180485967", "25332000000180496014", "25332000000180496015", "25322000000218664109", "25322000000205128240", "25317000000721940568", "25317000000721940571", "25317000000721940573", "25317000000721940574", "25317000000721940576", "25317000000504939561", "25317000000721940567", "25317000000526098455", "25317000000526099194", "25317000000662122242", "25317000000696364977", "25317000000721938436", "25312000000158466697", "25312000000164515067", "25312000000137799160", "25312000000137805560", "25312000000137809580", "25312000000137843758", "25312000000138737239", "25312000000138164446", "25312000000138749510", "25312000000138755615", "25312000000138759004", "25312000000138798918", "25312000000139159530", "25312000000140074503", "25312000000140077117", "25312000000140681415", "25312000000142292193", "25312000000142307977", "25312000000144720040", "25312000000146916144", "25312000000146916947", "25312000000146917064", "25312000000146918874", "25312000000146919297", "25312000000147290645", "25312000000148737901", "25312000000151411300", "25312000000151460377", "25312000000123973265", "25312000000130428919", "25312000000131900862", "25312000000133227198", "25312000000137900354", "25312000000137908475", "25312000000136195715", "25312000000136701006", "25312000000136705734", "25312000000136706149", "25312000000136707777", "25312000000136707916", "25312000000136709588", "25222000000020254699", "25232000000026682674", "25212000000031701906", "25212000000032953201", "25212000000034620471", "25212000000034759535", "25212000000034875864", "25212000000036604682", "25137000000019463535", "25132000000075626847", "25132000000075663346", "25132000000076140669", "25132000000076643157", "25132000000078999367", "25132000000079181609", "25132000000079423581", "25132000000080082485", "25132000000081136346", "25132000000062351933", "25132000000065971211", "25132000000073704878", "25127000000064144461", "25122000000023196445", "25122000000024451346", "25122000000029856905", "25412000000096918633", "25122000000030548297", "25122000000032224331", "25332000000205928593", "25412000000117163664", "25412000000120878591", "25504000000000704920", "25504000000000734449", "25504000000000744473", "25534000000001763690", "25534000000001803373", "25534000000001833205", "25112000000104695679", "25112000000107017145", "25112000000100874341", "25112000000101532845", "25112000000101831707", "25112000000091460962", "25112000000092172136", "25112000000095602164", "25112000000096609167", "25112000000096364579", "25112000000096399911", "25112000000096586112", "25112000000099059395", "25112000000084553030", "25112000000010088068", "25212000000022019534", "25372000000066742094", ]; const tmp2 = [ "25317000000526098455", "25317000000526099194", "25122000000023196445", "25412000000089832029", "25122000000024451346", "25317000000662122242", "25412000000092775129", "25317000000696364977", "25452000000044654007", "25317000000721938436", "25412000000098030644", "25412000000098441886", "25372000000109922220", "25414000000001072755", "25312000000130428919", "25412000000101259484", "25312000000131900862", "25412000000101630310", "25512000000100563543", "25312000000133227198", "25517000000000359888", "25442000000245640421", "25222000000020254699", "25342000000073794167", "25412000000103835543", "25412000000103960002", "25512000000102424320", "25412000000103998248", "25412000000104177710", "25412000000104740242", "25512000000102752873", "25372000000118460477", "25312000000136701006", "25512000000102597085", "25212000000034620471", "25512000000103572164", "25412000000104436247", "25412000000104508070", "25137000000019463535", "25122000000029856905", "25372000000117593885", "25502000000047112733", "25312000000136705734", "25412000000104867253", "25412000000104677580", "25132000000075663346", "25312000000136195715", "25312000000136709588", "25412000000105099468", "25532000000052851936", "25312000000136706149", "25512000000103419767", "25412000000105217246", "25132000000075626847", "25412000000105266650", "25412000000104801455", "25312000000136707777", "25312000000136707916", "25532000000052842129", "25952000000087201733", "25412000000105046777", "25412000000105160008", "25112000000091460962", "25362000000043380971", "25412000000106036783", "25332000000185452616", "25132000000076643157", "25412000000105859899", "25412000000105683746", "25312000000137900354", "25312000000137843758", "25452000000049599946", "25212000000034875864", "25512000000104032208", "25212000000034759535", "25312000000138164446", "25312000000137805560", "25412000000105887890", "25412000000105533417", "25372000000119530458", "25112000000092172136", "25412000000106071103", "25312000000137908475", "25312000000137809580", "25312000000137799160", "25132000000076140669", "25322000000205128240", "25412000000106954558", "25412000000106564348", "25412000000106703164", "25412000000107076557", "25442000000261397155", "25312000000138798918", "25412000000106649582", "25412000000107170222", "25312000000139159530", "25412000000106967881", "25432000000059485890", "25312000000138737239", "25502000000048343682", "25312000000138755615", "25412000000106968069", "25412000000106904698", "25412000000106592248", "25412000000106953568", "25122000000030548297", "25412000000106448741", "25312000000138759004", "25312000000138749510", "25412000000106521156", "25422000000083037311", "25412000000107043417", "25412000000107145950", "25412000000107092189", "25352000000050816437", "25412000000106632530", "25532000000054146405", "25412000000107715915", "25512000000106769094", "25412000000107833168", "25352000000051012092", "25412000000107743303", "25412000000107722432", "25312000000140077117", "25512000000106431906", "25312000000140074503", "25412000000108090206", "25412000000108114960", "25442000000266690977", "25372000000122506393", "25442000000266693510", "25342000000078116860", "25412000000109236561", "25332000000193944462", "25412000000109684766", "25332000000193466382", "25312000000142292193", "25112000000095602164", "25232000000026682674", "25412000000109454869", "25132000000078999367", "25412000000109337588", "25412000000109434866", "25612000000052930826", "25372000000124804435", "25312000000144720040", "25612000000052821767", "25212000000036604682", "25442000000273172407", "25112000000096364579", "25502000000050714684", "25112000000096609167", "25412000000110802083", "25412000000111434307", "25412000000111297763", "25412000000111663701", "25132000000080414346", "25412000000111288624", "25412000000111314968", "25412000000111697430", "25122000000032224331", "25412000000111455754", "25412000000112047432", "25152000000025133577", "25312000000146916947", "25412000000112602766", "25312000000146916144", "25312000000146918874", "25512000000112158725", "25612000000054155084", "25372000000127043168", "25517000000000359919", "25352000000053646485", "25412000000112554675", "25312000000146917064", "25312000000146919297", "25322000000218664109", "25372000000127222257", "25132000000081136346", "25412000000112308777", "25412000000113361704", "25342000000081613546", "25412000000112746786", "25352000000054025265", "25412000000113459027", "25372000000128679104", "25412000000113271529", "25442000000281235458", "25312000000151411300", "25312000000151460377", "25532000000060442367", "25112000000100874341", "25412000000114743795", "25417000000157367762", "25412000000114488762", "25532000000060608726", "25352000000055569527", "25412000000115998089", "25412000000116697807", "25412000000116618730", "25412000000116616304", "25412000000116715679", "25412000000118410627", "25112000000104695679", "25412000000118837096", "25442000000297735183", "25312000000158466697", "25312000000158864758", "25412000000120941958", "25412000000121129510", "25312000000164515067", "25372000000117818458", "25112000000107017145", ]; // console.log(Maths.removeRepeat(tmp1).toString()); const tmp3 = Maths.intersection(tmp1, tmp2); const tmp4 = Maths.complementarySet(tmp3, tmp2); const tmp5 = Maths.removeRepeat(tmp4); console.log(tmp5.toString()); ``` #### Picture 图像模块 包含一些与图像的方法. 以下是相关示例: ```js console.log("scaleToFill 缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素 ", scaleToFill(...p1)); console.log("aspectFill 缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。", aspectFill(...p3)); console.log("aspectFit 缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。", aspectFit(...p5)); ``` #### Randoms 随机模块 包含一些随机的方法. 以下是相关示例: ```js console.log("获取随机数(整数) [0~10)之间的数", Randoms.int(0, 10)); console.log("打乱数组", Randoms.getDisorganizeArray([{ a: 1 }, { b: 1 }, { c: 1 }])); console.log("随机一个长度为10的只有大小写的字母字符串", Randoms.str(10, GetRandomStrEnum.LargeSmall)); console.log("全局唯一标识符(uuid)", Randoms.uuid()); // 数据格式 [{name:string,weight:number}] weight 支持自定义在第二个参数中 console.log("按权重获取随机索引", Randoms.getRandomIndexByWeight(prizes)); console.log("随机获取颜色", Randoms.getRandomColor()); console.log("随机获取身份证号码", Randoms.getRandomCitizenIdentificationNumber()); ``` #### Verify 验证模块 包含一些验证的方法. 以下是相关示例: ```js // 像是 // 就是还有可能不是 // 效率 // 没有太多的逻辑判断 console.log("像是社会统一信用代码", Verify.likeUsci("92230900EUFUTJY536")); console.log('是否是null或者""', Verify.isNullOrEmpty("")); console.log("校验是否是11位手机号码", Verify.isPhoneNumber("13062627854")); console.log("校验是否是固定电话", Verify.isTellPhoneNumber("0371-99882211")); console.log("是否是邮箱", Verify.isEmail("linyisonger@qq.com")); // 这个验证校验码是否正确 console.log("是否是统一社会信用代码", Verify.isUnifiedSocialCreditIdentifier("92230900EUFUTJY536")); console.log("是否是车牌号", Verify.isVehicleNumber("青G04444")); console.log("像身份证号", Verify.likeIDCardNumber("37062219890704584X")); console.log("是否是身份证号码", Verify.isCitizenIdentificationNumber("37062219890704584X")); console.log("密码规则校验", Verify.passwordRules("abc123", PasswordRuleEnum.SmallNumber, 6, 20)); // 字符串拓展使用 console.log('是否是null或者""', "".isNullOrEmpty); console.log("是否是{}", {}.isNullOrEmpty); // 无提示 console.log("像是社会统一信用代码", "92230900EUFUTJY536".likeUsci); console.log("校验是否是11位手机号码", "13062627854".isPhoneNumber); console.log("校验是否是固定电话", "0371-99882211".isTellPhoneNumber); console.log("是否是邮箱", "linyisonger@qq.com".isEmail); // 这个验证校验码是否正确 console.log("是否是统一社会信用代码", "55420502676482337D".isUnifiedSocialCreditIdentifier); console.log("是否是车牌号", "青G04444".isVehicleNumber); console.log("像身份证号", "622924198810193427".likeIDCardNumber); console.log("是否是身份证号码", "622924198810193427".isCitizenIdentificationNumber); console.log("密码规则校验", "abc123".passwordRules(PasswordRuleEnum.SmallNumber, 6, 20)); console.log("判断版本是否相等", "1.0.0".versionComparison("1.0.0")); console.log("是否是IP地址", Verify.isIPAddress("244.255.123.1")); console.log("获取密码难度等级", Verify.passwordDifficulty("abc123..")); ``` #### Vertor2 二维向量 包含一些与平面坐标系的方法. 以下是相关示例: ```js console.log("向量相加", v2(1, 1).plus(v2(2, 2))); console.log("向量相减", v2(1, 1).subtract(v2(2, 2))); console.log("向量相乘", v2(2, 3).multiply(v2(2, 2))); console.log("向量相除", v2(2, 3).divide(v2(2, 2))); console.log("叉乘", v2(2, 3).multiplicationCross(v2(2, 2))); console.log("点乘", v2(2, 3).dotProduct(v2(2, 2))); console.log("检测两线段是否交叉", Vector2.checkCross(v2(0, 1), v2(10, 1), v2(1, 0), v2(1, 10))); console.log("检测p点是否在点p1,p2,p3组成的三角形内", Vector2.checkInTriangle(v2(0, 1), v2(0, 0), v2(2, 0), v2(0, 2))); console.log("检测p点是否在点p1,p2,p3,p4组成的矩形内", Vector2.checkInRectangle(v2(0, 1), v2(0, 0), v2(1, 0), v2(1, 1), v2(0, 1))); console.log("p点绕o点旋转angle°", Vector2.rotateAroundPoint(v2(1, 0), v2(0, 0), 90)); console.log("计算p1到p2两点之间的距离 保留3位小数", Vector2.distance(v2(0, 0), v2(1, 0))); console.log("计算两直线的夹角角度", Vector2.includedAngle(v2(1, 0), v2(1, 1))); console.log("在距离处获取点", Vector2.getPointAtDist(v2(0, 0), v2(-1, 0), 0.5)); ``` #### 🍻互助互利 如果代码上有什么问题、有什么好的想法欢迎将它提出来👇 https://github.com/linyisonger/3r.Tool/issues/new 感谢我的朋友们给提供需求建议🙇‍