常用对象(二)

字符串对象和数组对象

之前的一篇博客介绍了数字、日期等对象,这篇给各位大佬介绍一下字符串对象和数组对象,其他的对象api我就不介绍了,感觉这些用的会比较多。

1.字符串对象

字符串主要用于处理字符串,那么会有以下的方法可以对字符串进行处理。
①字符串的查找

		//字符串对象下API相当于字符串对象下的属性
        //待检测的字符串.indexOf(检测字符),返回结果-1,没有字符,非-1表示存在检测字符
        //indexOf()检测某个字符在另一个字符中是否出现
        var str = 'asjuhdkuhk';
        str = new String(str);
        console.log(str);//String {"asjuhdkuhk"}
        var str1 = 'uh';
        var res = str.indexOf(str1);//如果存在字符串
        console.log(res);//3
      
        //lastIndexOf()检测某个字符在另一个字符串中最后出现的位置,返回结果:出现的位置,-1没有出现
        //语法:字符串.lastIndexOf(查询的字符)
        var res1 = str.lastIndexOf('k');
        console.log(res1);//9
		//这里的正则表达式后面我会介绍一下正则表达式,现在可以看一下这个方法可以通过正则表达式或者字符查找
        //match(正则表达式或者查询的字符) 根据正则表达式和检测的字符:有返回结果【组成的数组】,无返回null
        var str2 = 'jaskh';
        var res2 = str2.match('ask');//返回匹配结果的伪数组
        var res3 = str2.match(/\d/g);//  \d查找数字,g表示全局查找
        console.log(res2);//["ask", index: 1, input: "jaskh", groups: undefined]
        console.log(res3);//null

运行结果:
在这里插入图片描述
②字符串的截取

		//slice()截取字符片段 从第一个索引值开始,到第二个索引值结束,返回截取字符的片段
        //---->参数只有一个:表示从第几个开始,截取到最后一个
        var str = 'dskjhgfkjsdhk';
        str = new String(str);
        console.log(str);
        var res = str.slice(3,6);//包含3,不包含6
        console.log(res);
        var res = str.slice(5);
        console.log(res);
        //substr(startIndex,length);作用截取字符片段,返回字符片段
        //----> startIndex   表示第几个字符开始
        //----> length       表示截取字符的长度
        var str1 = 'asjkdhkui';
        str1 = new String(str1);
        var res2 = str1.substr(3,5);
        console.log(res2);
        //substring(startIndex,endIndex)
        //----> startIndex   表示第几个字符开始
        //----> endIndex     表示截取字符的endIndex结尾的前一个,不包含endIndex
        var res3 = str1.substring(3,5);
        console.log(res3);

运行结果:
在这里插入图片描述
③字符串的替换

	var str = 'alsdhklj';
    //replace(reg,newStr) reg正则匹配  用newStr替换匹配的结果
    var res = str.replace(/l/g,'o');
    console.log(str);//字符串自身没变化
    console.log(res);//返回替换结果  

运行结果:
在这里插入图片描述
④字符串的切割

		// split(reg,len) 切割字符并返回切割后的【数组】
        // --->reg表示匹配字符,从匹配的字符开始切割
        // --->len 切割后返回数组的长度,没有,返回最大长度;有值,小于等于最大长度
        var classname = 'asd,asdasd,ewrw,zxc';
        var classArR  = classname.split(/,/g);//最长
        var classA  = classname.split(/,/g,2);//长度为2
        console.log(classname);
        console.log(classA);
        console.log(classArR);

运行结果:
在这里插入图片描述
⑤字符串的其他方法

		var str = 'jakshdkjhaskj';
        //charAt()返回指定索引值对应的字符
        var res = str.charAt(3);
        console.log(res);
        //返回最后一个字符
        var lastStr = str.charAt(str.length - 1);
        console.log(lastStr);
        //返回第一个字符
        var firstStr = str.charAt(0);
        console.log(firstStr);
        //toLocaleUpperCase()
        var str = 'jahsdaskjdhksj';
        //将小写字母变大写字母
        var res = str.toLocaleUpperCase();
         //将大写字母变小写字母
        var res1 = res.toLocaleLowerCase();
        console.log(res);
        console.log(res1);

        //search()  \w表示英文字母  数字  下划线
        //search()  返回匹配字符 在字符串中的位置   -1表示没有这个字符
        var res = str.search('k');//7
        console.log(res);

运行结果:
在这里插入图片描述
⑥字符串的应用(随机生成验证码)

		var vertify = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
        //生成一个4位数的随机验证码
        //1.初始化验证码 空字符 res的字符长度是4
        //2.获取vertify中每一个字符
        var res = '';
        //求0-vertify.length-1中随机整数
        for(var i = 0;i<4;i++){
        	//这边是随机生成一个随机数
            var random = Math.random();
            random *= vertify.length;
            random = Math.floor(random);
            res += vertify[random];
        }
        console.log(res);

运行结果:
在这里插入图片描述

2.数组对象

①数组的删除

		var arr = [1,3,4];
        //pop()删除数组最后一个元素,返回删除元素
        //注意:改变是数组本身   
        var res = arr.pop();
        console.log(res,arr);
        
        //从头部删除  shift() 返回被删除的元素
        //注意:改变数组本身
        var res1 = arr.shift();
        console.log(res1,arr);

         //用delete删除数据,数组长度不变   for...in...不会遍历删除的元素
         var arr = new Array(1,3.4,5,'dd','dee',[]);
        delete arr[3];
        console.log(arr);

运行结果:
在这里插入图片描述
②数组的添加

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

运行结果:
在这里插入图片描述
③数组转化为字符串
这边就不给出运行了,可以自己试一下。

 		var arr = [2,3,4,5,'dd','qwewior'];
        //隐式转化
        var str = ''+ arr;
        console.log(str);//'2,3,4,5,ddd,qwewior'
        //通过数组中API进行转化
        //toString()将数组转化为字符串,并返回转化后的字符串
        var res = arr.toString();
        console.log(res);
        //join()将数组中数据进行连接,返回连接后的字符串
        //参数:数据与数据之间的连接符。默认为','
        var res1 = arr.join(' ');
        console.log(res1,arr);
        //将字符串变数组
        var resArr = res1.split();
        console.log(resArr);
        console.log(typeof(resArr));

④数组splice方法

		var arr = [1,'333',true,'333',44,55,66,44,6];
        /*
            splice()删除 替换 插入
            1.一个参数:删除,从第这个参数的元素开始,一直到最后,返回删除的数组元素
            注意:改变原来数组
            2.splice(index,len)从索引值index开始,删除len个元素,返回len个元素组合的数组
            注意:原来数组发生变化
            3.三个以上参数:作用:替换或者插入,表示从索引值元素开始,删除len个元素,从删除位置开始插入参数3后的参数
        */
        //删除 删除索引值为3以后的数据
        var res = arr.splice(3);
        console.log(res,arr);
        //删除几个
        var arr1 = [23,4,5,6,7,8];
        //表示从第二个索引值开始,删除一个
        var res1 = arr1.splice(2,1);
        console.log(res1,arr1);
        //替换
        var arr2 = [4,5,6,7,8,9,3];
        //从索引值为1开始删除2个元素,将'aa','cc'替换删除元素5,6
        var res2 = arr2.splice(1,2,'aa','cc');
        console.log(res2,arr2);
        //插入
        var arr3 = [2,3,4,5];
        var res3 = arr3.splice(2,0,'ddd','aa');
        console.log(res3,arr3);

运行结果:
在这里插入图片描述
⑤字符串的其他方法

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

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

运行结果:
在这里插入图片描述

总结

字符串和数组对象的一些方法并没有介绍完,这里就讲到这,还有其他的一些函数可以参考一下这个网站https://developer.mozilla.org/zh-CN/docs/Web/JavaScript,这不是打广告,我觉得这个网站可以的,方便学习,可以锻炼看开发文档的能力,所以还是比较推荐的,希望能帮助到各位。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值