




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/js 基础总结 一 数组与字符串方法最近在梳理js的基础,首先从数组和字符串开始。string 常用方法: 1.substring(start开始位置的索引,end结束位置索引) 截取的位置不包含结束位置的字符,只写一个参数表示从开始位置截取到最后 var str=abcdefg; str.substring(1) /得到bcdefg str.substring(1,3) /得到bc 输入负值时将负值变为0,哪个较小作为开始位置 str.substing(-1,1) =str.substring(0,1) /a str.substring(1,-2) =str.substring(0,1) /a 2.slice(start开始位置索引,end结束位置索引) 基本和substring相似,区别在参数为负数。 var str=abcdefg; str.slice(1) /bcdefg str.substring(1,3) / bc 输入负值时 值与字符串的长度相加 str.slice(-1) =str.slice(6) /g str.slice(1,-2) =str.slice(1,5) /bcde str.slice(-2,-1)=str.slice(5,6) /f 值绝对值大于字符串的长度时变为 0 str.slice(-22) =str.substring(0) /abcdefg 第二个参数绝对值大于字符串的长度时,返回 3.substr(start开始位置索引,end需要返回的字符个数) var str=abcdefg; str.substr(1) /bcdefg str.substr(1,1) /b 输入负值时 start参数与字符串的长度相加 ,end为负时参数变为0 str.substr(-1) =str.substr(6)/g str.substr(-2,-3) / 4.charAt(index) 方法返回指定索引位置处的字符。如果超出有效范围(0与字符串长度减一)的索引值返回空字符串. var str=abcdefg; str.charAt(2) / c 5.index(string) 返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。 var str=abcdefga str.indexOf(a) / 0 str.indexOf(h) /-1 6.lastIndexOf(string) 倒叙查找 返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。 var str=abcdefga str.lastIndexOf(a) / 7 7.split(str) 将字符串以参数分割为数组 var str=abcadeafg str.split(a) /, bc, de, fg 8. toLowerCase方法返回一个字符串,该字符串中的字母被转换成小写。 9. toUpperCase方法返回一个字符串,该字符串中的所有字母都被转换为大写字母。 10.match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配 11.search 方法返回与正则表达式查找内容匹配的第一个字符串的位置。 12.replace 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配 /bijiapo/p/5451924.html数组常用的方法 1. push 添加到最后 返回添加后的数组 2. unshift 添加到最前面 返回添加后的数组 3. shift 删除(从前面) 返回处理后的数组 4. pop 删除最后一项 返回处理后的数组 5. reverse 数组翻转 返回处理后的数组 6. join 数组转化为字符串 var arr=1,2,3,4,5, str=arr.join(-); console.log(str); / 1-2-3-4-5 以join内的参数切割数组 console.log(arr); / 1,2,3,4,5 原数组未变 7. slice(start,end) 截取数组 从start(开始) 到end(结束 不包含) 返回新数组,原数组不变 var arr=1,2,3,4,5,new=arr.slice(2,4); console.log(new); / 3,4 console.log(arr); / 1,2,3,4,5 8. concat 数组合并 9. splice(开始下标,个数,ele1,ele2.) 剪接数组 (1).一个参数 从参数位置截取 填写负数类似上面str slice 返回截好的数组 原数组变化 var arr=1,2,3,4,5; console.log(arr.splice(1); / 2,3,4,5 console.log(arr); / 1 console.lgo(arr.splice(-1) / 5 (2).二个参数 截取 (开始位置,个数) 返回截好的数组 原数组变化 var arr=1,2,3,4,5; console.log(arr.splice(1,3); / 2,3,4 console.log(arr) / 1,5 arr.splice(0,1) =arr.shift() arr.splcie(arr.length-1,1) =arr.pop() (3).添加 原数组增加 var arr=1,2,3,4,5; console.log(arr.splice(1,0,13); / console.log(arr); / 1,13,2,3,4,5 (4).替换 var arr=1,2,3,4,5; console.log(arr.splice(1,2,a,b) / 2,3 console.log(arr); / 1,a,b,4,5 arr.splice(0,0,1) =arr.unshift(1); arr.splice(arr.length,0,1) = arr.push(1) 10. arr.forEach(item,index,array) 遍历,循环 类似jquery的each 其中的item参数是数组中的内容,index为其索引,array表示数组本身 var arr=1,2,3,4,5; arr.forEach(function(item,index,array) ) 遇到嵌套跳出循环出现问题,暂时没有解决; 11. map方法 映射 用法和forEach类似 var men= name:1,age:12, name:2,age:22, name:3,age:33 , age=men.map(function(item) return item.age; ) 12. arr.sort 排序 var arr=1,2,22,11,33,3,5,4; console.log(arr.sort() / 1,11,2,22,3,33,4,5 默认情况下sort方法是按ascii字母顺序排序的,而非我们认为是按数字大小排序 arr.sort(function(a,b) return a-b) a-b从小到大 b-a从大到小 13. 顺便写写我知道的排序方法 (1)冒泡排序 每次比较相邻的两个数,如果后一个数比前一个数小,换位置 function bSort(arr) var tmp; for(var i=0,len=arr.length-1;ilen;i+) for(var j=0;jarrj+1) /换位置 tmp=arrj+1; arrj+1=arrj; arrj=tmp; return arr; function bSort(arr) var tmp; arr.forEach(function(item,i) arr.forEach(function(item,i) if(itemarri+1) /换位置 tmp = arri + 1; arri + 1 = arr; arr = tmp; ) ) return arr (2)快速排序 二分法,找到中间的数,取出来(新数组),原数组没,每次和此数比较,小的放到左边,大的放到右面 function fastSoft(arr) var len=arr.length; if(len=1) return arr var cIndex=Math.floor(len/2), c=arr.splice(c,1), left=, right=; arr.forEach(function(item,i) if(itemc0) left.push(item); else right.push(item); ) return fastSoft(left).concat(c,fastSoft(right); 14. 数组的去重也写下吧 (1)双层循环不是很好 var arr=2,3,2,2,2,4,5, arr2=; function find(arr2,ele) for(var i= 0,len=arr2.length;ilen;i+) if(arr2=ele) return true; return false; for(var i= 0,len=arr.length;ilen;i+) if(!find(arr2,arr) arr2.push(arr); (2)利用json的key值无重复 var arr=2,3,2,2,2,4,5, json=, arr2=; arr.forEach(function(item,i) if(!jsonitem) jsonitem=222; ); for(var name in json) arr2.push(Number(name);/类型发生变化了 (3) 利用sort方法排序,去掉旁边相同项 var arr=2,3,2,4,4,4,5, arr2=; arr.sort(); for(var i=0;iarr.length;i+) if(arr=arri+1) arr.splice(i-,1); 一些常见数学方法 math.abs() 取绝对值 math.ceil() 向上取整 math.floor() 向下取整 math.round() 四舍五入 math.roundom function getRan(n,m) return Math.floor(Math.random()*(m-n)+n); 数组和字符串的一些综合应用 1. 截取后缀名 (1) var str=1.xxx.avi; str=str.substring(str.lastIndexOf(.)+1); (2) var str=1.xxx.avi; var arr=str.split(.); console.log(arrarr.length-1); 2.字母翻转,首字母大写 var str=wo shi yi ge demo, arr=str.split( ); for(var i=0;iarr.length;i+) console.log() arr=arr.charAt(0).toUpperCase()+arr.substring(1); arr.reverse(); str=arr.join( ); 3. str中字符出现次数的统计 var str=aaaandkdffsfsdfsfssq12345, json=, n= 0, sName; for(var i= 0,len=str.length;in) n=jsonname; sName=name; console.log(出现最多的字母+sName+次数为+n); 4. 简单的url参数解析 fu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年现代农业技术师职业资格考试试卷及答案
- 2025年企业法务管理师考试试题及答案汇编
- 2025年经济法课程考试试题及答案
- 2025年计算机软件考试试题及答案
- 2025年大学生综合素质测评试卷及答案
- 2025年护理专业资格考试卷及答案
- 2025年初级会计职称试卷及答案解析
- 2025年宗教学及哲学基础考试试卷及答案
- 医疗废物安全处置与环保责任承诺书
- 机场建筑弱电系统施工与运营维护管理协议
- 2024年广州市花都区教育局招聘事业编制教师笔试真题
- 精神病人肠梗阻的护理
- 联合研发合作合同范本
- 红火蚁防治方案
- 保健院急诊急救工作制度与流程(2025版)
- 台达VFDM变频器说明书
- 2024深圳二手房买卖合同范本:附带房屋检查报告版3篇
- 慢性病管理远程会诊制度设计
- 工程材料与热处理 课件 1金属材料强度与塑性探究
- GB/T 19048-2024地理标志产品质量要求龙口粉丝
- 医疗器械唯一标识系统
评论
0/150
提交评论