前端常用算法
// 数组倒排 let numArray = [3, 6, 2, 4, 1, 5]; function reverse(array) { let result= []; for(var i = array.length-1; i>= 0; i--) { result.push(array[i]); } return result; } numArray = reverse(numArray); console.log(numArray); // [5,1,4,2,6,3]
// 数组去重 let arr1 = ['a', 'b', 'c', 'a', 'b']; console.log([...new Set(arr1)]) // ['a', 'b', 'c']
// 获取url中参数 let url = "http://item.taobao.com/item.html?a=1&b=2&c=&d=xxx"; let str = url.substr(url.indexOf('?') + 1); // a=1&b=2&c=&d=xxx let arr = str.split("&"); // ["a=1", "b=2", "c=", "d=xxx"] let obj = {}; for(let i=0; i<arr.length; i++) { let item = arr[i]; let temArr = item.split("="); // ['a', '1'] obj[temArr[0]] = temArr[1] } console.log(obj); // {a: "1", b: "2", c: "", d: "xxx"}
// 正则匹配 // 问题:将字符串'<tr><td>{$id}</td><td>{$name}</td></tr>'中 // 的{$id}替换成10,{$name}替换成Tony let str = '<tr><td>{$id}</td><td>{$name}</td></tr>'; let str1 = str.replace(/{\$id}/g, '10').replace(/{\$name}/g, 'Tony'); console.log(str1);
// 统计字符串出现最多的次数 let str = 'asdfssaaasasasasaa'; let obj = {}; for(let i = 0; i<str.length; i++) { if(!obj[ str[i] ]) { obj[ str[i] ] = 1; } else { obj[ str[i] ]++; } } console.log(obj); // {a: 9, s: 7, d: 1, f: 1} let iMax = 0; let letter= ''; for(let i in obj) { if(obj[i] > iMax) { iMax = obj[i]; letter = i; } } console.log('出现次数最多的是:'+ letter + '出现' + iMax+'次');
// 千分位标注 function exchange(num) { num += ''; // 转成字符串 if (num.length <= 3) { return num; } num = num.replace(/\d{1,3}(?=(\d{3})+$)/g, (v) => { return v + ','; }); return num; } console.log(exchange(1234567)); // 1,234,567
// 得到一个两数之间的随机整数,包括两个数在内 function getRandomInclusive(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max -min +1)) + min; } var number = getRandomInclusive(10, 1000); console.log(number); // 437
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!