美文网首页
数组、字符串常用方法

数组、字符串常用方法

作者: 我欢喜喜欢你 | 来源:发表于2019-05-27 08:56 被阅读0次

    字符串

    字符串的创建:

    var str = "abc";
    var str = new String();
    

    将任意类型的值转换成字符串:

    Var a = 10;
    Var str = a.toString(); //string
    Var str1 = “”+a; //string
    Var str2 = String(a);//string
    

    除了 slice() 和 substr() 方法里的负值是代表从右截取,其他方法里的负值一律作为0处理

    1. charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码。
      Str.charCodeAt(index);如果指定位置没有字符,返回NaN;
    var str = "abc";
    console.log(str.charCodeAt(3));//NaN
    
    1. fromCharCode方法从一些Unicode字符串中返回一个字符串。

    2. charAt方法返回指定索引位置处的字符。如果超出有效范围的索引值返回空字符串。

    3. slice方法返回字符串的片段。

    strObj.slice(start[,end]) 
    
    start下标从0开始的strObj指定部分起始索引。如果start为负,将它作为length+start处理,此处length为字符串的长度。 
    
    end小标从0开始的strObj指定部分结束索引。如果end为负,将它作为length+end处理,此处length为字符串的长度。
    
    var str = "abc";
    var str1 = str.slice(0,-2);
    var str2 = str.slice(-1);
    console.log(str1,str2);//a c
    

    5、substring方法返回位于String对象中指定位置的子字符串

    strObj.substring(start,end) 
    
        start指明子字符串的起始位置,该索引从0开始起算。 
            
        end指明子字符串的结束位置,该索引从0开始起算。 
            
        substring方法使用start和end两者中的较小值作为子字符串的起始点。如果start或end为NaN或者为负数,那么将其替换为0。
    

    6、substr方法返回一个从指定位置开始的指定长度的子字符串。

        strObj.substr(start[,length]) 
        start所需的子字符串的起始位置。字符串中的第一个字符的索引为0。 
        length在返回的子字符串中应包括的字符个数。 
        var str = "ABCDEF"; 
        str.substr(2,4); //CDEF ;
    

    7、indexOf方法返回String对象内第一次出现子字符串位置。如果没有找到子字符串,则返回-1。

    lastindexOf()方法从尾部开始寻找对象中第一次出现子字符串的位置

        strObj.indexOf(substr[,startIndex]) 
        substr要在String对象中查找的子字符串。 
        startIndex该整数值指出在String对象内开始查找的索引。如果省略,则从字符串的开始处查找。 
        var str = "ABCDECDF"; 
        str.indexOf("CD",1); // 由1位置从左向右查找 123... 结果:2 
    

    8、search方法返回与正则表达式查找内容匹配的第一个字符串的位置。

        strObj.search(reExp) 
        reExp包含正则表达式模式和可用标志的正则表达式对象。 
        var str = "ABCDECDF"; 
        str.search("CD"); // 或 str.search(/CD/i); 结果:2 
    

    9、concat方法返回字符串值,该值包含了两个或多个提供的字符串的连接。

        str.concat([string1[,string2...]]) 
        string1,string2要和所有其他指定的字符串进行连接的String对象或文字。 
        var str = "ABCDEF"; 
        str.concat("ABCDEF","ABC"); 
        结果:ABCDEFABCDEFABC
    

    10、Split将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

        strObj.split([separator[,limit]]) 
        separator字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是   多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
        limit该值用来限制返回数组中的元素个数。 
        var str = "AA BB CC DD EE FF"; 
        alert(str.split(" ",3)); 
        结果: AA,BB,CC 
    

    11、 toLowerCase方法用于将一个字符串全部转为小写

    toUpperCase则是全部转为大写。

    它们都返回一个新字符串,不改变原字符串。

    console.log(" hello word ".trim());
    //hello world
    console.log('Hello World'.toLowerCase());
    // "hello world"
    console.log('Hello World'.toUpperCase());
    // "HELLO WORLD"
    

    12、trim(): 用于去除字符串两端的空白,返回一个新字符串 不改变原数据

    console.log(' hello world '.trim()); //hello word
    

    13、replace 返回被替换的字符串

    str.replace(rgExp/substr,replaceText)  
    

    数组

    数组的概念:有序的元素的集合 使用数字作为索引的一个对象 索引为从0开始的整数

    创建方式

    1、构造数组 var arr = new Array();

    向数组中添加元素:数组[索引] = 值;
    读取数组 数组[索引] 当索引值比数组长度大时,会返回undefined;
    数组长度:数组.length;

    var arr1 = new Array();
    arr1[0] = 1;
    arr1.length = 10;
    console.log(arr1,arr1.length); //如果修改的length大于原长度,则多出部分会空出来;
    arr1.length = 2;
    console.log(arr1,arr1.length); //如果修改的length小于原长度,则多出的部分会删除;
    

    2、字面量创建数组 var arr = [];

    中括号里边可以直接添加元素(可以是任意类型的数据类型);

    数组的操作方法

    1、push() 可以接收任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度

    2、Pop() 数组末尾移除最后一项,减少数组的LENGTH值,并返回被删除的元素

    3、Unshift() 在数组的头部添加一个或者多个元素,返回增加后数组的长度

    4、Shift() 从数组的头部删除一个元素并返回这个删除的元素,如果数组为空则返回undefined;

    5、Slice()返回从原数组中指定开始下标到结束下标之间的项组成的新数组。

    slice()方法可以接受一或两个参数,即要返回项的起始和结束位置。
    在只有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。
    如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。
    var a = arr(0,2);
    第二个参数可以是负值:则从后往前截取 -1:最后一个
    

    6、splice:

    删除:可以删除任意数量的项,只需指定 2 个参数:要删除的第一项的位置和要删除的项数。例如, splice(0,2)会删除数组中的前两项。
    
    插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。例如,splice(2,0,4,6)会从当前数组的位置 2 开始插入4和6。
    
    替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。插入的项数不必与删除的项数相等。例如,splice (2,1,4,6)会删除当前数组位置 2 的项,然后再从位置 2 开始插入4和6。
    splice()方法始终都会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组。
    

    7、join()

    将数组的元素组成一个字符串
    不会对原数据产生影响,会把转化后的字符串作为结果返回
    在join()中可以指定一个字符串作为参数,这个字符串将会作为数组中元素的连接符,如果不指定连接符,默认为逗号
    

    8、reverse():
    用来反转数组,前面的去后面,后面的去前面;

    9、Sort() 对数组成员进行排序,默认按照字典顺序排序,原数组会改变

    arr.sort(function (a,b){
    return a-b;//升序
    })
    

    sort的参数函数本身接受两个参数,表示进行比较的两个数组成员。如果该函数的返回值大于0,表示第一个成员排在第二个成员后面;其他情况下,都是第一个元素排在第二个元素前面

    10、concat() :将参数添加到原数组中。

    这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给 concat()方法传递参数的情况下,它只是复制当前数组并返回副本。 
    

    11、indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。

    12、lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。

    这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1。在比较第一个参数与数组中的每一项时,会使用全等操作符。

    13、forEach():对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型,默认有传参,参数分别为:遍历的数组内容;对应的数组索引,数组本身。

    var arr = [1,2,6,4];//1 0 true;2 1  true;6 2 true;4 3 true
    arr.forEach(function (x,index,a){
        console.log(x+" "+index+" "+(a===arr));
    })
    

    14、map():指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

    var arr1 = [32,5,11,12];
    var arr = arr1.map(function (x){
        return x+3
    })
    console.log(arr);  //[35,8,14,15]
    

    15、filter(): 用于过滤数组成员,满足条件的成员组成一个 新数组返回 原数组不变
    它的参数是一个函数,所有数组成员一次执行,返回结果为 true 的元素组成一个新数组返回
    第一个参数:当前成员
    第二个参数:当前成员的索引
    第三个参数:整个数组

    var arr2 = [21,152,66,565];
    var arr3 = arr2.filter(function (x,index){
        return x % 3 == 0;
    })
    console.log(arr3);//[21,66];
    

    15、every():判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true。

    16、some():判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true。

     //every
    var arr4 = [26,641,15312,63,1];
    var arr5 = arr4.every(function (x){
        return x > 1;
    })
    console.log(arr5);//false
    //some
    var arr7 = arr4.some(function (x){
        return x > 1;
    })
    console.log(arr7);//true
    

    17、reduce(): 将内部的返回值作为实参传递第一个形参,进行下一次运算

    var arr =[1,2,3,5]
    var sum = arr.reduce(function(a,b){
    return a+b;
    });
    console.log(sum); //1+2+3+5=11
    

    相关文章

      网友评论

          本文标题:数组、字符串常用方法

          本文链接:https://www.haomeiwen.com/subject/deqctctx.html