js string方法与数组[ ]方法

string方法

字符串查询

// 待检测的字符串.indexOf(检测字符);返回结果-1,在这个字符串中没有这个子字符,非-1有
        // indexOf() 作用:检测某个字符是否在另一个字符串中出现
        
         var str = 'kkgkkkkjhhnghg';
         str = new String(str);
         console.log(str);
         var strChild = 'j';
         var res = str.indexOf(strChild);
         console.log(res);
		
        // lastIndexOf() 作用:检索某一个字符,在一个字符串中最后一次出现的位置;返回:出现的位置      -1 没有该字符
        // 语法: 字符串.lastIndexOf(查询的字符)
		var res1 = str.lastIndexOf('g');

        if(str.indexOf('') !== -1){
            // 表示在str中检索到''  业务。。。
        }
        // 如果一个业务中没有这个字符 则...
        if(str.indexOf('ddd') === -1) {
            // 这里处理没有'ddd' 字符串的业务
        }

        // match()
        var str1 = 'jfoweuro';
        var res3 = str1.match('kk');
        // match(正则)根据正则表达式匹配字符串并返回匹配结果,无 null  有 返回匹配结果【组成的数组】
        var res2 = str1.match(/\d/g);// /\d/g  \d 表示查找数字    g表示 全局查找
        console.log(res2);
        // match()正则校验 验证字符
        
  

字符串截取

// slice(startindex,endindex) 截取字符片段 从第几个索引值开始,到第一个索引值结束,返回截取字符的片段
        var str = 'jfwjffllldjjdlk2896354';
        str = new String(str);
        console.log(str);
        var res = str.slice(3,6);// 包含3,不包含6
        console.log(res);
        // 参数只有一个,表示从第几个开始,截取到最后一个
        var res1 = str.slice(5);
        console.log(res1);


        // substr(startindex,length);作用:截取字符片段,返回字符片段
        //  startindex 表示第几个字符开始
        // length 表示截取字符长度
        var str1 = 'jkskrjblslbnxd';
        str1 = new String(str1);
        var res2 = str1.substr(3,5);
        console.log(res2);

        // substring(startindex,endindex);作用:截取字符长度,返回一个子字符
        // startindex 从第几个索引值开始
        // endindex 到第几个索引值结束(不包含endindex)
        var str2 = 'djgknnkkkrtask';
        var res3 = str.substring(3,5);
        console.log(res3);

字符串变数组

// 字符串变数组的方式
        // split(reg,len);切割字符,并返回切割后的【数组】
        // reg 表示配置字符,从匹配的字符开始切割
        // len 切割后返回数组的长度,没有:返回最大长度
        var className = 'icon,color,box,icon1';
        var calssArr = className.split(/,/g);//最长
        var calssArr1 = className.split(/,/g,2);//长度为2
        console.log(className);
        console.log(calssArr);
        console.log(calssArr1);

        // split 完成 , 替换 ''
        var str = '';
        for(x in calssArr){
            str += calssArr[x];
        }
        console.log(str,'完成将,替换\'\'');

替换

var str = '聪明人傻子人笨人';
        // replace(reg,newStr) reg正则匹配  用newStr 替换匹配的结果
        // 匹配 str 中 人 字符 替换为狗
        // res 接收 replace 替换后结果
        var res = str.replace(/人/g,'狗');
        console.log(str);// 字符串自身没变化
        console.log(res);// 返回替换结果 日本狗美国狗韩国狗

        var str1 = 'a,b,c';
        var str2 = str1.replace(/c/g,'r');
        console.log(str2);
        // 要想匹配某个字符 简单正则  /[待匹配字符]/g

数组[ ]方法

删除

 // delete 删除数据:数组长度不变 for...in... 不会遍历删除的元素
        var arr = new Array(1,3,4,5,'dd','dee',[]);
        delete arr[3];
        console.log(arr);
        console.log(arr.length);
        for(var i=0;i<arr.length;i++){
            console.log(arr[i]);
        }
        console.log(arr.constructor);//Array()
		var arr = [1,3,'hhh'];
        
        // pop() 删除数组最后一个元素,返回被删除的元素
        // 注意:改变的是数组本身
        var res = arr.pop();
        console.log(res,arr);
        // shift() 从头部删除 返回被删除的元素
        // 注意:改变的是数组本身
        var res1 = arr.shift();
        console.log(arr,res1);

添加

		var arr = [1];
        // push() 改变数组本身,在数组尾部添加元素,并返回数组长度
        // 参数:增加的数据,可以传递无数个
        var res = arr.push('我是新增内容',3,4,5);
        console.log(res,arr);//5 [1, "我是新增内容", 3, 4, 5]
        // unshift() 从数组头部添加数据,返回数组长度
        // 参数:添加的数据
        var res1 = arr.unshift('头部添加');
        console.log(res1,arr);//6   ["头部添加", 1, "我是新增内容", 3, 4, 5]
        // concat() 合并数组 返回合并后数组,数组本身无变化
        // 参数:被合并的数组
        var arr1 = [1,2,3,4,5];
        var arr2 = ['dd','dddd'];
        // 将arr2 与 arr1进行合并,返回合并后数组,res接收
        var res = arr1.concat(arr2);
        console.log(res,arr1);

删替插

		var arr = [1,'333',true,'333',44,55,66,44,6];
        // splice() 删除 替换 插入
        // 1.一个参数:删除,从索引值元素开始,一直删除到最后,返回删除元素组成的数组
        // 注意:原来数组发生改变
        // 2.splice(index,len) 从索引值index开始 删除len个元素,返回len个元素组成的数组
        // 注意:原来数组发生改变
        // 3.3个以上参数:作用:替换或插入;表示:从索引值元素开始,删除len个元素,从删除位置开始插入【参三】后面的参数
        // var res = arr.splice(3);//删除索引值为3以后的数据
        // var res = arr.splice(3,2);//从第3个索引值开始,删除2个,'333',44  返回['333',44 ]
        // var res = arr.splice(3,2,'替换1','替换2');//从索引值为3开始删除2个元素,将'cc','dd' 替换删除元素'333',44
        // 插入 不删除只新增
        var res = arr.splice(2,0,'ddd','aa');// 从第二个索引值开始 删除0个 插入2个元素
        console.log(res,arr);

其他方法

		var arr = [1,2,3,4,5,6,7,'ddd','ddd','aa'];
        // slice(startindex,endindex) 截取数组中片段,返回截取内容的数组
        // startindex 从第几个索引值开始,包含本数
        // endindex 到第几个索引值结束,不包含本数
        // 截取内容 startindex,小于endindex
        var res = arr.slice(2,5);
        console.log(res,arr);

        // reverse()颠倒数组:例如原来升序,颠倒后降序
        var arr1 = [['ddd'],1,2,43,5,6];
        var res1 = arr1.reverse();
        console.log(res1,arr1);

模拟数组方法

// splice模拟push
        var arr = [1,2,4];
        arr.splice(arr.length,0,'ddd');
        console.log(arr);//[1, 2, 4, "ddd"]
        // splice模拟unshift
        arr.splice(0,0,'ccc');
        console.log(arr);//["ccc", 1, 2, 4, "ddd"]
        // splice模拟pop()
        arr.splice(arr.length-1,1);
        console.log(arr);//["ccc", 1, 2, 4]
        // splice模拟shift()
        arr.splice(0,1);
        console.log(arr);//[1, 2, 4]
        // splice模拟concat 方法
        var arr4 = [1,2,3];
        var arr5 = [3,4,4,6,8,9];
        var res;
        for(x in arr5){
            arr4.splice(arr4.length,0,arr5[x]);
        }
        res = arr4;
        console.log(res);


        // push模拟concat
        var arr1 = [1,2,6];
        var arr2 = ['1'];
        for(x in arr2){
            arr1.push(arr2[x]);
        }
        console.log(arr1);




// 模拟reverse
        // 方式一
        var res = [];
        for(var i=0;i<arr.length;i++){
            res.unshift(arr[i]);//将后面数据添加到前面
        }  
        console.log(res);

        // 方式二
        var arr1 = [1,2,3,4,5,6];
        var arr2 = [];
        for(var i=arr1.length-1;i>=0;i--){
            arr2.push(arr1[i]);
        }
        console.log(arr2);

        // 方式三
        var arr3 = [1,2,3,4,5,6];
        var len = arr3.length;
        for(var i = 0;i<arr3.length;i += 2){
            arr3.unshift(arr3[i]);
        }
        arr3.splice(len);
        console.log(arr3);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值