js字符串 数组处理

时间:2023-03-09 08:34:20
js字符串 数组处理
            /*字符串处理*/
            var a="Hello world!"
            console.log(a.indexOf("e"))       //1  l的index  不存在-1          lastIndexOf()
            console.log(a.search("w"))        //6  l的index  不存在-1        查找
            console.log(a.match("H"))         //存在返回本身 H  不存在null  匹配
            console.log(a.charAt(4))          //o  index=4的字母
            console.log(a.slice(1,4))         //ell  选取1-4 不含4
            console.log(a.split(""))          //划分 分裂  字符串转数组  
                                                    //["H", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]
            console.log(a.toLowerCase())      //转小写
            console.log(a.toUpperCase())      //转大写
            console.log(a.replace('lo',555))  //将lo替换成555
            console.log(a.substring(1,4))     //ell  选取1-4 不含4          如果是负数,将被替换成0
              substring(start,end)                                               
 substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。
            console.log(a.substr(1,4))        //ello  从1开始选4个  长度
              stringObject.substr(start [, length ])
如果start为负数,则start=str.length+start。
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。
            /*删除前后空格*/
            var aaa="   Hello world!   "
            console.log(aaa.trim())           //Hello world!  
              /*删除所有空格*/
              var a = ' aa  1s  2dasdf   2sdf asdf  '
              function trimStr(str){return str.replace(/(\s)/g,"");}

trimStr(a)          //aa1s2dasdf2sdfasdf

            /*test()  正则匹配*/
            var str = "Visit W3School";
            var patt1 = new RegExp("W3School");
            console.log(patt1.test(str))      //true
==========================================================================================
/*数组处理*/
            var b=[1,2,3,4,5]
            console.log(b.join('-'))          //1-2-3-4-5  用指定字符串连接   数组字符串
            console.log(b.slice(1,3))         //选中[2,3]  不会影响原数组  
            console.log(b.slice(1))           //选中[2,3,4,5]
            console.log(b.splice(4))          //[5]  删除  提出
//            alert(b)                        //[1,2,3,4]  删除了第5个   会影响原数组
            /*splice万能操作*/
            var aa=[1,2,3,4,5]
                           aa.splice(1,2,'p')                  //从index=1删除2个再增加p   起始位置 删除长度 增加
            console.log(aa)                   //1,p,4,5
            var bb=[1,2,3,4,5]
            bb.splice(1,1,'p')                  //删除1个
            console.log(bb)                   //1,p,3,4,5    
            var cc=[1,2,3,4,5]
                           cc.splice(1,0,'p')               //删除0个
            console.log(cc)                  //1,p,2,3,4    
            /*push 结尾添加     pop结尾删除      shift 开头删除    unshift 开头添加    sort 排序*/
              var test=[1,2,3,4,5]    
    test.push(6,7,8)
    console.log(test)              //1,2,3,4,5,6,7,8
            /*倒序排列  反转 颠倒*/
            var c=[1,2,3,4,5]
            console.log(c.reverse())               //5,4,3,2,1  
            c.splice(1,3)                          //2,3,4
            console.log(c)                         //1,5
            /*数组排序*/
            var aaaa=[25,4,32,0,11,6]
            bbbb=aaaa.sort(function(n1,n2){
                return n1-n2;
            })
            console.log(bbbb)                     //[0, 4, 6, 11, 25, 32]
            /*以上封装成方法*/
            var f=[25,4,32,0,11,6]
            function sortFn(n1,n2){
                return n1-n2
            }
            console.log(f.sort(sortFn))         //[0, 4, 6, 11, 25, 32]
            /*数组转字符串*/
            var e=[1,2,3,4,5];
            var ee=e.join('')
            console.log(ee)           //12345 string 
            var j=[1,2,3,4,5];
            var jj=j.join('-')

console.log(jj)           //1-2-3-4-5 string