博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js基础 数组与字符串
阅读量:6815 次
发布时间:2019-06-26

本文共 5398 字,大约阅读时间需要 17 分钟。

最近在梳理js的基础,首先从数组和字符串开始。

string 常用方法:

1.substring(start开始位置的索引,end结束位置索引) 截取的位置不包含结束位置的字符,只写一个参数表示从开始位置截取到最后
str.substring(1)  //得到bcdefg    str.substring(1,3)  //得到bc输入负值时将负值变为0,哪个较小作为开始位置str.substing(-1,1)  =>str.substring(0,1) //astr.substring(1,-2) =>str.substring(0,1) //a```    2.slice(start开始位置索引,end结束位置索引) 基本和substring相似,区别在参数为负数。
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需要返回的字符个数)
str.substr(1)  //bcdefg            str.substr(1,1)  //b输入负值时 start参数与字符串的长度相加 ,end为负时参数变为0str.substr(-1) =>str.substr(6)//g                 str.substr(-2,-3)  // ''```    4.charAt(index) 方法返回指定索引位置处的字符。如果超出有效范围(0与字符串长度减一)的索引值返回空字符串.
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 用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配

数组常用的方法

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(结束 不包含)                                                返回新数组,原数组不变
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)冒泡排序  每次比较相邻的两个数,如果后一个数比前一个数小,换位置
var tmp;        for(var i=0,len=arr.length-1;i
arr[j+1]){ //换位置 tmp=arr[j+1]; arr[j+1]=arr[j]; arr[j]=tmp; } } } return arr; } function bSort(arr){ var tmp; arr.forEach(function(item,i){ arr.forEach(function(item,i){ if(item>arr[i+1]){ //换位置 tmp = arr[i + 1]; arr[i + 1] = arr[i]; arr[i] = tmp; } }) }) return arr }``` (2)快速排序 二分法,找到中间的数,取出来(新数组),原数组没,每次和此数比较,小的放到左边,大的放到右面
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(item
arr2=[];            function find(arr2,ele){              for(var i= 0,len=arr2.length;i
json={},arr2=[]; arr.forEach(function(item,i){     if(!json[item]){         json[item]=222;     } }); for(var name in json){     arr2.push(Number(name));//类型发生变化了 }```         (3) 利用sort方法排序,去掉旁边相同项
arr2=[];        arr.sort();        for(var i=0;i
str=str.substring(str.lastIndexOf('.')+1);(2) var str='1.xxx.avi';       var arr=str.split('.');        console.log(arr[arr.length-1]);```        2.字母翻转,首字母大写
arr=str.split(' ');       for(var i=0;i
json={},n= 0,sName;for(var i= 0,len=str.length;i
if(json[name]>n){                n=json[name];                sName=name;            }        }        console.log('出现最多的字母'+sName+'次数为'+n);```    4.  简单的url参数解析
var search = window.location.search.substring(1);  if (!search) {      return;  }  var arr = search.split('&'),          arr2 = [],          json = {},          key,          alue;  for (var i = 0; i < arr.length; i++) {      arr2 = arr[i].split('=');      key = arr2[0];      value = arr2[1];      json[key] = value;  }  return json;
你可能感兴趣的文章
linux下查看和修改文件时间
查看>>
我的友情链接
查看>>
linux资源分配Cgroup用法
查看>>
圆包含最多点问题
查看>>
Windows 8.1 发布了一个称为“Defender”的新模块
查看>>
浅析apache调优
查看>>
我的友情链接
查看>>
【Linux】如何正确安装Tomcat
查看>>
010-电脑软件安装手册-20190418
查看>>
linux学习笔记四(shell编程二)
查看>>
Hbase Shell 基础和常用命令
查看>>
数据结构和算法
查看>>
Linux_haproxy(3)v1.0
查看>>
Linux HA Cluster高可用集群之HeartBeat2
查看>>
C#中使用GetCursorPos获取屏幕坐标
查看>>
我的友情链接
查看>>
flume bucketpath的bug一例
查看>>
2017八款最佳反勒索软件工具
查看>>
Cache Buffers LRU Chain 闩锁竞争
查看>>
oracle系统用户详解
查看>>