JS中数组和字符串方法的简单整理

一、数组:
  数组的基本方法:
             1、增:arr.unshift() /push()    前增/后增    
             2、删:arr.shift() /pop()        前删/后删
             3、改:arr.splice(开始下标,删除的长度,增加的元素,增加的元素) 
        注:增加元素时,删除的长度为0 
             4、截: arr.slice(开始下标,结束下标)  
             5、拼:arr.concat(元素,元素,元素)
        注:拼接到新数组的末尾,如果是数组就打开拼接。
             6、复:forin   /  slice  /   concat  /  map   /forEach   
        注: ES5新增的复制方法都没for循环效率高
         for (变量 in 对象){
           在此执行代码
         }
             7、排: arr.reverse() 逆序输出    
                 arr.sort([a-b])该方法没有参数时按照字符编码的顺序进行排序   a-b<0 数字从小到大排序  a-b>0从大到小排序  
             8、转:arr.toString()  转为以逗号分隔的字符串  /    转换进制
                     arr.join('分隔符')
      
            (截、拼、转不影响原数组)
            
  ES5拓展数组方法   
          1、indexOf(查找的元素,开始查找的下标):从某个下标开始查找这个元素第一次出现的位置。 查不到返回-1。
             2、 lastindexOf(查找的元素,下标): 从后往前查找
             3、forEach()  遍历数组     (无返回值)
                  数组名.forEach(function(value,index,arr){
                          (数组元素,数组下标,整个数组)
                        语句组;
                  })
             4、map(function(value,index,arr){return ...}) //遍历数组(有返回值)
                        var list = arr.map(function(value,index,arr){
                              return value;
                        })
                 forEach和map方法只能遍历数组,forin遍历数组和对象。  
             5、reduce(function(prev,next,index,array){return ...})  //     归并 (有返回值)
                        注:先第一个数赋值prev,再取第二个数赋值next,然后prev与next进行运算,运算后的值再赋给prev,next继承取下一数。
                        用于求和,阶乘
                        var arr = [1,2,3,4];
                        var list = arr.reduce(function(prev,next,index,array){
                              return prev * next;
                        }) 
             6、filter(function(value,index,arr{return ...}) //过滤  (有返回值)
                        var arr = [1,6,4,4,8,9,33];
                        var list =arr.filter(function(value){
                              return value >6
                        })
                        console.log(list)   // 8,9,13
              (ES5的方法都不影响元素组)
二、字符串:             
  字符串的方法:
                   
     1、 查:
          charAt(index):根据    下标查找指定的字符     下表找不到时,输出 空。
          charCodeAt(index):根据下标查找指定的字符的编码值 。下标超出范围时,输出NAN
     2、 替:
          replace(旧串,新串)
          替换成新的字符串,    一次只能替换一个
        3、截:后面的end不截    substring:(start,end)  支持参数互换(3,4)(4,3)
                substr:(start,length)
                slice:(start,end) 支持负数(从右往左数,-1至-10等等)
        4、转:
          toUpperCase():小写字母转大写字母
          toLowerCase():大写字母转小写字母
          split(分隔符,截取的长度)  :  将字符串转为数组  
  字符串拓展方法:
        1、字符串对象.match(正则表达式) : 如果字符串中包含了正则表达式的内容,返回数组,否则,返回null,
           2、字符串对象.search(正则表达式) : 类似于indexOf(),查找正则匹配的内容在字符串中第一次出现的下标位置,如果没有找到,返回-1
           3、字符串对象.replace()
   4、静态方法:
        String.fromCharCode(编码):将编码转成字符
        
    静态方法:格式 构造函数.方法  String.fromCharCode。
    对象方法:格式 对象.方法     arr.push
 

猜你喜欢

转载自www.cnblogs.com/xixinhua/p/10260029.html