当前位置: 首页 > news >正文

spring mvc 网站开发福州最新通告今天

spring mvc 网站开发,福州最新通告今天,云虚拟主机做二个网站,公司做网站需要多少钱不知不觉距离第一次发文章介绍自己写的库BootsJS已经过去一个月了#xff0c;这个月里收到了许许多多JYM的反馈与建议#xff0c;自己也再一次对BootsJS进行了改进与完善#xff0c;又一次增加了很多功能#xff0c;为此我想应该给JYM们汇报汇报这个月的工作进展。 BootJS仓…不知不觉距离第一次发文章介绍自己写的库BootsJS已经过去一个月了这个月里收到了许许多多JYM的反馈与建议自己也再一次对BootsJS进行了改进与完善又一次增加了很多功能为此我想应该给JYM们汇报汇报这个月的工作进展。 BootJS仓库https://github.com/JunLiangWangX/BootsJS BootJS文档https://junliangwangx.github.io/BootsJS/ 上一版本功能 害怕新的同学没看过之前文章容我花点篇幅介绍下之前版本支持的功能 库的安装与引用方法的具体使用大家可以看我之前的文章《摸鱼时间写了个库比lodash更丰富》我就不在这里赘述了。 日期处理工具DateTool 方法作用dateCalculator日期加/减计算dateFormater格式化日期与时间getDateDiff计算两日期的相隔时间getDaysInMonth给定日期返回当月总天数isLeapYear给定年份判断是否闰年 性能工具PerformanceTool 方法作用debounce防抖throttle节流memoize缓存函数的计算结果 字符串处理工具StringTool 方法作用camelCaseNameToDashName驼峰命名转短横线命名dashNameToUpperCamelCaseName短横线命名转大写驼峰命名 正则规则RegRules 方法作用IPAddressRule匹配IP地址chineseIDCardRule匹配身份证号码chinesePhoneNumberRule匹配中国手机号码…… 优先级队列PriorityQueue 方法作用priorityQueue.enqueue(‘1’, 1)入队priorityQueue.dequeue()出队priorityQueue.top获取队顶元素priorityQueue.length获取队列大小priorityQueue.isEmpty队列是否为空 本版本新增的功能 我们来看看这个月加入了什么引人注目的功能吧 对象处理工具ObjectTool // -------- Global Import(全局引入) const BootsJS require(boots-js); // Node import BootsJS from boots-js // Es6 Module BootsJS.ObjectTool.type(123); //Number// -------- Import on Demand(按需引入) const { ObjectTool } require(boots-js/object-tool); // Node import { ObjectTool } from boots-js/object-tool // Es6 Module ObjectTool.type(123); //Number判断参数类型type() ObjectTool.type(new Array()); //Array ObjectTool.type(123); //String ObjectTool.type(true); //Boolean ObjectTool.type(new Map()); //Map深度拷贝对象deepClone() // 支持的类型原始类型、TypedArray、Array、Set、Map、Object、ArrayBuffer、DataView、Date、RegExp、Symbol、Proxy将被视为对象拦截器无法复制 // 注意不支持的类型例如Function、WeakRef、WeakSet、WeakMap等会直接复制其引用const obj1{Number:1},obj2{Boolean:2},obj3{obj:obj1,String:123}, const testObj{Int8Array:new Int8Array([1,2,3,4,5]),Date:new Date(),RegExp:/1234/,Array:new Array(...[obj1,obj2,obj3]),Set:new Set([obj1,obj2,obj3]),Map:map,Object:obj3,ArrayBuffer:new ArrayBuffer(10),DataView:new DataView(new ArrayBuffer(10)),Function:fun }let deepCopyObjObjectTool.deepClone(testObj) deepCopyObj.Int8ArraytestObj.Int8Array //false deepCopyObj.DatetestObj.Date //false deepCopyObj.Object.obj1.objtestObj.Object.obj1.obj //false比较两对象是否相等isEqual() // 支持的类型原始类型、TypedArray、Array、Set、Map、Object、ArrayBuffer、DataView、Date、RegExp、Symbol(比较其description)、Proxy将被视为对象拦截器无法比较 // 注意不支持的类型例如Function、WeakRef、WeakSet、WeakMap等会直接比较其引用地址const testObj2{BigInt64Array:new BigInt64Array([BigInt(123),BigInt(123),BigInt(123)]),RegExp:/1234/,Array:new Array(...[obj1,obj2,obj3,obj4]),Set:new Set([obj1,obj2,obj3,obj4]),Object:obj4,Map:map2,Date:date,ArrayBuffer:new ArrayBuffer(10),DataView:new DataView(new ArrayBuffer(10)), }ObjectTool.isEqual(testObj2,ObjectTool.deepClone(testObj2)) //true let testObj5ObjectTool.deepClone(testObj2) testObj5.Object.obj1.String12344 ObjectTool.isEqual(testObj2,testObj5) //false将对象转换为StringargToStrKey() // 支持的类型原始类型、TypedArray、Array、Set、Map、Object、ArrayBuffer、Function、DataView、Date、 RegExp、Symbol、Proxy将被视为对象拦截器无法输出 // 注意不支持的类型例如WeakRef、WeakSet、WeakMap等会直接输出类型const testObj2{BigInt64Array:new BigInt64Array([BigInt(123),BigInt(123),BigInt(123)]),RegExp:/1234/,Array:new Array(...[obj1,obj2,obj3,obj4]),Set:new Set([obj1,obj2,obj3,obj4]),Object:obj4,Map:map2,Date:date,ArrayBuffer:new ArrayBuffer(10),DataView:new DataView(new ArrayBuffer(10)), } const testObj3{Array:new Array(...[obj1,obj2,obj3,obj4]),Set:new Set([obj1,obj2,obj3,obj4]),BigInt64Array:new BigInt64Array([BigInt(123),BigInt(123),BigInt(123)]),ArrayBuffer:new ArrayBuffer(10),Object:obj4,Map:map2,Date:date,DataView:new DataView(new ArrayBuffer(10)),RegExp:/1234/, }let testObj5ObjectTool.deepClone(testObj2) testObj5.Object.obj1.String12344ObjectTool.argToStrKey(testObj2)ObjectTool.argToStrKey(testObj3) //true ObjectTool.argToStrKey(testObj2)ObjectTool.argToStrKey(testObj5) //false处理树的工具TreeTool // -------- Global Import(全局引入) const BootsJS require(boots-js); // Node import BootsJS from boots-js // Es6 Module BootsJS.TreeTool.tree2Array(tree,childList,options)// -------- Import on Demand(按需引入) const { TreeTool } require(boots-js/tree-tool); // Node import { TreeTool } from boots-js/tree-tool // Es6 Module TreeTool.tree2Array(tree,childList,options)树转换成数组 tree2Array() const tree {name: 中国,code: 0,childList: [{name: 重庆,code: 01,},{name: 四川,code: 02,},{name: 广东,code: 03,},]} let arr TreeTool.tree2Array([tree], childList, {isGenerateLevel: true,generateLevelAttributeName:level,isGenerateParentID: true,generateParentIDAttributeName: parentCode,nodeIDAttributeName: code,deleteAttributeList: [childList]})console.info(arr)[{ name: 中国, code: 0 , level:0 },{ name: 重庆, code: 01, level:1 , parentCode: 0 },{ name: 四川, code: 02, level:1 , parentCode: 0 },{ name: 广东, code: 03, level:1 , parentCode: 0 },]数组转换为树array2Tree() const arr [{ name: 中国, code: 0 , level:0 },{ name: 重庆, code: 01, level:1 , parentCode: 0 },{ name: 四川, code: 02, level:1 , parentCode: 0 },{ name: 广东, code: 03, level:1 , parentCode: 0 },]let genTree TreeTool.array2Tree(arr, code, parentCode, childList, (node) {return !(parentCode in node)})console.info(genTree)[{name: 中国,code: 0,level: 0,childList: [{ name: 重庆, code: 01, level:1, parentCode: 0, childList: [] },{ name: 四川, code: 02, level:1, parentCode: 0, childList: [] },{ name: 广东, code: 03, level:1, parentCode: 0, childList: [] }]}]获取所有子节点getChildList() const tree {name: 中国,code: 0,childList: [{name: 重庆,code: 01,},{name: 四川,code: 02,},{name: 广东,code: 03,},]} let arr TreeTool.getChildList([tree], code, 0, childList)console.info(arr)[{ name: 重庆, code: 01 },{ name: 四川, code: 02 },{ name: 广东, code: 03 },]过滤节点filter() const tree {name: 中国,code: 0,level: 0,childList: [{ name: 重庆, code: 01, level:1, parentCode: 0, childList: [] },{ name: 四川, code: 02, level:1, parentCode: 0, childList: [] },{ name: 广东, code: 03, level:1, parentCode: 0, childList: [] }]}let arr TreeTool.filter([tree], childList, (obj) {return obj.parentCode 0})console.info(arr)[{ name: 重庆, code: 01, level:1 , parentCode: 0, childList: [] },{ name: 四川, code: 02, level:1 , parentCode: 0, childList: [] },{ name: 广东, code: 03, level:1 , parentCode: 0, childList: [] },]查找某节点的路径findPath() const tree {name: 中国,code: 0,level: 0,childList: [{ name: 重庆, code: 01, level:1, parentCode: 0, childList: [] },{ name: 四川, code: 02, level:1, parentCode: 0, childList: [] },{ name: 广东, code: 03, level:1, parentCode: 0, childList: [] }]}let path TreeTool.findPath([tree],code,03,childList)console.info(path)[{name: 中国,code: 0,level: 0,childList: [ [Object], [Object], [Object] ]},{ name: 广东, code: 03, parentCode: 0, level: 1, childList: [] }]处理数组的工具ArrayTool // -------- Global Import(全局引入) const BootsJS require(boots-js); // Node import BootsJS from boots-js // Es6 Module BootsJS.ArrayTool.removeDuplicates([1,2,3,1]);// -------- Import on Demand(按需引入) const { ArrayTool } require(boots-js/array-tool); // Node import { ArrayTool } from boots-js/array-tool // Es6 Module ArrayTool.removeDuplicates([1,2,3,1]);数组去重 removeDuplicates() const test1{a:1},test2{a:1}, arr1[test1,test2,test1], arr2[1,2,3,1,4]; ArrayTool.removeDuplicates(arr1) // [{a:1},{a:1}] ArrayTool.removeDuplicates(arr1,true) // [{a:1}] ArrayTool.removeDuplicates(arr2) //[1,2,3,4];处理日期时间的工具DateTool // -------- Global Import(全局引入) const BootsJS require(boots-js); // Node import BootsJS from boots-js // Es6 Module BootsJS.DateTool.dateFormater(new Date(),YYYY-MM-DD HH:mm:ss);// -------- Import on Demand(按需引入) const { DateTool } require(boots-js/date-tool); // Node import { DateTool } from boots-js/date-tool // Es6 Module DateTool.dateFormater(new Date(),YYYY-MM-DD HH:mm:ss);转换时区 convertTimeZone() DateTool.convertTimeZone(1711611931754,DateTool.timeZoneOffsetEnum[UTC08:00], DateTool.timeZoneOffsetEnum[UTC-06:00]) DateTool.convertTimeZone(2024/2/12,DateTool.timeZoneOffsetEnum[UTC08:00], DateTool.timeZoneOffsetEnum[UTC09:00])最后 目前我只想到和完成了这些功能希望大家多多提提意见呀包括想要的功能改进建议等等我一个人的想法和能力都过于局限如果有余力的话欢迎PR一起弄呀如果真的对大家有所帮助能给个star鼓励下作者嘛如果我也能有个超多star的仓库就好了 BootJS仓库https://github.com/JunLiangWangX/BootsJS BootJS文档https://junliangwangx.github.io/BootsJS/ 点击链接或微信搜索“汪啊汪”关注我及时掌握最新动态 本文由mdnice多平台发布
http://www.hkea.cn/news/14470690/

相关文章:

  • 网站集约化建设性能要求公司模块网站制作
  • 住房和城乡建设厅官方网站建行网站会员
  • 上海网站建设市场win网站建设
  • 网页设计模板网站免费下载套餐网站
  • 网站的建设报价和朋友合伙做网站
  • 有做盆景的网站团购网站平台建设
  • 苏州网站开发公司排名黑龙江建设监理协会网站
  • 西昌城乡建设网站嵌入式开发就业前景
  • 青岛市医疗保险网站股票软件定制
  • 小县城做服务网站网站建设申请总结
  • 小游戏网站网址一个网站想看访客量怎么做
  • 苏州网站开发公司济南兴田德润厉害吗单位不能建设网站
  • 永川区网站建设咨询网站文章seo
  • 最新手机网站推荐wordpress还是shopify
  • 查询网站备案密码是什么国际新闻联播
  • 做网站前端wordpress黑糖
  • 建设网站书关于珠海网站建设的优势
  • 免费网站建设排行榜wordpress获取自定义文章列表
  • 网站后台管理系统设计扬州有做义工的地方或网站嘛
  • 网站编辑信息怎么做免费成品网站模板
  • 淘宝网站jquerywordpress怎么添加数据库连接
  • 南海区建设局网站惠阳营销网站制作
  • 东莞网站建设做公司河南网站托管
  • 交互 网站阜新网站开发公司
  • 做网站资料准备手表官网
  • 网站一般做几页宝安建网站外包
  • 网站主页的布局方式wordpress 分类404
  • 哪个网站可以做投资回测心动网络属于哪个公司
  • 江门市专业做网站公司旅游网站开题报告
  • 在谷歌上做外贸网站有用吗网站建设与维护服务