zoukankan      html  css  js  c++  java
  • js数组、字符串方法

    
    
    
    1、array.from :方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
    
        Array.prototype.slice.call(arguments);数组的slice方法可以将“类似数组的对象”变成真正的数组
    
        伪数组(函数的arguments对象,大多数 DOM 元素集,字符串)
    
        这个东西就是把一些集合,或者长的像数组的伪数组转换成真的数组,比如arguments,js选择器找到dom集合,还有对象模拟的数组
        返回的是一个数组
    
        将一个类数组对象转换为一个真正的数组,必须具备以下条件:
        1)该类数组对象必须具有length属性,用于指定数组的长度。如果没有length属性,那么转换后的数组是一个空数组。
        2)该类数组对象的属性名必须为数值型或字符串型的数字
      ps: 该类数组对象的属性名可以加引号,也可以不加引号
    
        Array.from还可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
    
            let arr = [12,45,97,9797,564,134,45642]
            let set = new Set(arr)
            console.log(Array.from(set, item => item + 1)) // [ 13, 46, 98, 9798, 565, 135, 45643 ]
    
        将字符串转换为数组:
            let  str = 'hello world!';
            console.log(Array.from(str)) // ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]
    
        Array.from参数是一个真正的数组
            console.log(Array.from([12,45,47,56,213,4654,154]))
          像这种情况,Array.from会返回一个一模一样的新数组
    
    
    2. Array.of  Array.of(1, 2, 3, 4)    //把参数合并成一个数组返回,如果参数为空,则返回一个空数组
    
    3. find/findIndex    返回数组中第一个符合条件的元素, findIndex返回索引
    
        [1, 2, 3, 4, 5].find(function(item){
            return item > 3
        })
    
    
    4、 arr.sort()
        let arr = [2,10,6,1,4,22,3]
        let arr1 = arr.sort((a, b) =>a - b)  
    
    5、arr.slice(start,end) 切去索引值start到索引值end的数组(包括开始,不包括结束),不包含end索引的值,返回值是切出来的数组
    
    
    6、arr.forEach(callback) 遍历数组,无return
        callback的参数: value --当前索引的值
                index --索引
                array --原数组 
    
        currentValue:必选。当前元素。
        index:可选。当前元素索引值。
        arr:可选。当前元素所属的数组对象。
        thisValue:可选。传递给函数,用作“this”的值;如果省略,"this"值则为"undefined"
    
    
    7、arr.map(callback) 映射数组(遍历数组),有return 返回一个新数组(callback的参数:如上)
            
        var arr = [1,2,3,4,5] ;
        var newArr = arr.map(function(item,index){
            return item*2 ;        //操作更新数组
        })
    
        ps: arr.forEach()和arr.map()的区别 
        1. arr.forEach()是和for循环一样,是代替for。arr.map()是修改数组其中的数据,并返回新的数据。
        2. arr.forEach() 没有return  arr.map() 有return
    
    8、arr.filter(callback) 过滤数组,返回一个满足要求的数组 (callback的参数:如上)
        filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
        注意: filter() 不会对空数组进行检测。
        注意: filter() 不会改变原始数组。
    
        let arr = [1,2,3,4,5]
        let arr1 = arr.filter( (i, v) => i < 3)
        console.log(arr1)    // [1, 2]
    
    9、arr.every(callback) 依据判断条件,数组的元素是否全满足,若满足则返回ture 
    
    10、arr.some() 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture 
        currentValue:必选。当前元素。
        index:可选。当前元素索引值。
        arr:可选。当前元素所属的数组对象。
        thisValue:可选。传递给函数,用作“this”的值;如果省略,"this"值则为"undefined"
    
    
    11、arr.reduce(callback, initialValue初始值) 迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值
        arr.reduce(function(prev,cur,index,arr){
        ...
        },);
    
        arr 表示将要原数组;
        prev 表示上一次调用回调时的返回值,或者初始值 init;
        cur 表示当前正在处理的数组元素;
        index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
        init 表示初始值。
    
    12、arr.reduceRight(callback, initialValue初始值)
         与arr.reduce()功能一样,不同的是,reduceRight()从数组的末尾向前将数组中的数组项做累加。
    
    13、arr.includes() 判断数中是否包含给定的值  includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
    
    14、arr.keys() 遍历数组的键名 
    
    15、arr.values() 遍历数组键值 
    
    16、arr.entries() 遍历数组的键名和键值 

    17、arr.join()将数组元素组成一个字符串

    18、push(): 尾部添加 可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
    19、pop() :尾部删除 数组末尾移除最后一项,减少数组的 length 值,然后返回移除的项。

    20、unshift(); 头部添加

    21、shift(): 头部删除 删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined 。

    22、sort():按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。

    23、reverse():反转数组项的顺序。

    24、concat():数组的拼接 将参数添加到原数组中。这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。在没有给 concat()方法传递参数的情况下,它只是复制当前数组并返回副本。
    25、splice():很强大的数组方法,它有很多种用法,可以实现删除、插入和替换。

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

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

     js字符串方法

      1、toString 字符串转换    

    var num=24;
    var mystr=num.toString(); 
    
    //或者
    var num=24;
    var mystr=String(num);    //"24"
    
    //或者
    var num=24;
    var mystr="" + num;    //"24"

      2、str.split() 字符串分割,  将字符串进行拆分返回一个新的数组

        mystr.split(",",2);
      第一个参数,以什么分割,第二个参数返回的字符串数组的最大长度    

      3、str.replace() 字符串替换

    var str="Visit Microsoft!"
    document.write(str.replace(/Microsoft/, "W3School"))

      4、str.length 获取字符串的长度

      5、str.indexOf("aa")  返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1

      6、str.lastIndexOf('aa')  (从右到左搜索)

      7、str.charAt(7)  返回指定位置的字符

      8、str.charCodeAt(7)  返回指定位置的字符编码值

      9、str.match('world')  方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 返回值是一个数组 [ ]  匹配失败返回null

      如果使用正则匹配字符串时,如果正则表达式没有 g (全局标识)标志,返回与正则匹配相同的结果。而且返回的数组拥有一个额外的 input 属性,该属性包含原始字符串。另外,还拥有一个 index 属性,该属性表示匹配结果在被字符串中的索引(以0开始)。

      如果正则表达式包含 g 标志,则该方法返回匹配字符串的数组。

    var str = 'hello,world';
    str.match('world')  //返回值
    
    //正则拼配数字
    var str="1 plus 2 equal 3"
    document.write(str.match(/d+/g)) //1, 2, 3
      10、reg.exec(str) 与match相比把正则和字符串换了个位置 ,返回值一样,匹配失败返回null

      11、str.search()进行正则匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1
      
    var mystr = "hi,mynameisguoxiansheng6,33iswho?";
    var regexp1 = /guo/;
    var matchStr = mystr.search(regexp1);    //11
    
    
    
      12、concat 或者 +  : 字符串连接
         
    mystr1.concat(mystr2+mystr3+" "+mystr4)

      
      13、slice , substr , substring 字符串的切割与提取  

        (1)slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。

          可以为负数,如果起始位置为负数,则从字符串最后一位向前找对应位数并且向后取结束位置,如果为正整数则从前往后取起始位置到结束位置。

        (2).substring()只能非负整数,截取起始结束位置同slice()函数一致。

        (3).substr()与第一、第二种函数不同,从起始位置开始截取,结束位置为第二个参数截取的字符串最大长度。

        以上三种函数未填第二参数时,自动截取起始位置到字符串末尾。

        14、字符串大小写转换  

    var mystr="Hello World!";
    var lowCaseStr=mystr.toLowerCase();    //hello world!
    var upCaseStr=mystr. toUpperCase();    //HELLO WORLD!
      15、字符串去空格  trim方法用来删除字符串前后的空格
      
      

      

  • 相关阅读:
    Sql日期时间格式转换
    基于现有数据库的Code First模式迁移更新数据库
    EF Code First Migrations数据库迁移
    IE6 IE7 ‘JSON’ 未定义
    解决iis7只能上传30M文件的限制
    在ASP.NET MVC中使用Juqery实现页面局部刷新
    asp.net mvc3 利用Ajax实现局部刷新
    CS0234: 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Html、Ajax”(是否缺少程序集引用?)
    陨石坑之webapi使用filter
    Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码
  • 原文地址:https://www.cnblogs.com/zjz666/p/11546199.html
Copyright © 2011-2022 走看看