【javascript】String对象的slice()、substring()、substr()的区别; String.slice()和Array.slice()的区别;Array.splice()

encodeURI(string):把字符串string作为URI编码;URI–统一资源标识符; URL–统一资源定位符;
decodeURI(URIstring):可以encodeURI()函数编码过的URI进行解码;返回URIstring的副本,其中十六进制转义的序列 将被他们表示的字符串替换;

		<script type="text/javascript">
			var  str="Hello world"
			
//			1、       str.substr(起始下标start,子串长度length); 其实下标为负数(-2),表示从后算下标(倒数第二个数);  length可不写,不写代表到字符串结束;
			console.log(str.substr(3,5));     //从下标3处开始截取,截取5位数,       输出lo wo;
			console.log(str.substr(-3,1));    //从倒数第3位开始截取,截取1位数,      输出r;
			console.log(str.substr(-5));  //没有写length代表截取到最后,从倒数第5位开始,去到最后,       输出world;
			
//			2、       substring(start,end)用于截取“介于两个指定下标之间”的字符
			console.log(str.substring(2,7));    //截取下标2-下标6“之间”的字符,即下标2-5的字符;  输出llo w
			console.log(str.substring(3));       //截取下标3至最后的字符; 输出lo world;
			
			//3、   slice()和substring(start,end)类似,只不过slice的参数可以为负数;
			console.log(str.slice(3,7));        //截取下标3-下标6的字符;    输出lo w;
			console.log(str.slice(-5,-2));   //截取倒数第5位-倒数第2位"之间"的字符,    输出wor;
			console.log(str.slice(-3));     //截取倒数第3位到最后的字符串     输出rld;

总结:String对象的slice()、substring().substr()都可以返回字符串的指定部分,slice()比substring()灵活些,可以使用负数为参数; substr()和另两个不同,substr()是用字符初始位置和长度来指定子串;

			/*------------------------------------------------------------*/
			//关于String.slice(start,end)和Array.slice(start,end)
//			String.slice(start,end); 返回起止下标之间的字符;
//          Array.slice(start,end);从已有数组中返回指定的元素;也是起止下标之间的元素,也可以使用负数为参数,”该方法不会修改数组,而是返回一个子数“;组;
			
			var arr=new Array(5);
			arr[0]="张三";
			arr[1]="李四";
			arr[2]="王五";
			arr[3]="赵六";
			arr[4]="马奇";
			
			console.log(arr)
			console.log(arr.slice(2))    //返回数组中下标为2的元素到最后,  输出 数组:王五,赵六,马奇
			console.log(arr.slice(2,4));      //返回下标2-4之间的元素,   输出数组:王五,赵六;
			console.log(arr.slice(-2));     //返回倒数第2个元素到最后的元素   输出 数组:赵六  马奇
			console.log(arr);       //数组不会被修改;
			
			//Array的slice()并不会改变数组,而是返回一个子数组;若想删除数组中的一段元素,应使用Array,splice()方法;
			//Array.splice()方法用于从数组中添加、删除元素,并返回修改后的数组;
			//Array.splice(添加删除的位置,删除的元素数量可为0,添加的元素1,添加的元素2,...添加的元素3);   
			//返回被修改后的新数组;
			
			//数组的增、删、改
			var brr=new Array(6);
			brr[0]="zhangsan";
			brr[1]="lisi";
			brr[2]="wangwu";
			brr[3]="zhaoliu";
			brr[4]="maqi";
			brr[5]="chenfei";
			
			//添加
			console.log(brr);    //输出 ["zhangsan", "lisi", "wangwu", "zhaoliu", "maqi", "chenfei"]
			
			brr.splice(2,0,"yanghua");   //修改的是原数组,要打印原数组,和slice()不同;
			console.log(brr);    //从下标2处,删除0 个元素,添加元素"yanghua"; 即行第3个元素后面添加一个元素, 输出 ["zhangsan", "lisi", "yanghua", "wangwu", "zhaoliu", "maqi", "chenfei"]
			//可以看出,第一项是"添加删除的位置";

			//替换
			console.log(brr);  //原数组: ["zhangsan", "lisi", "yanghua", "wangwu", "zhaoliu", "maqi", "chenfei"]
			brr.splice(2,1,"xiaomiao");  //在下标2处删除1个元素,添加一个元素"xiaomiao",相当于修改了一个元素;
			console.log(brr);  //返回修改后数组:["zhangsan", "lisi", "xiaomiao", "wangwu", "zhaoliu", "maqi", "chenfei"]
			
			//删除
			
			brr.splice(2,3);    //在下标2处,删除3个元素;
			console.log(brr);   //返回删除后的数组:["zhangsan", "lisi", "maqi", "chenfei"]
			
			brr.splice(2,2,"huahua");   //下标2处删除2个,添加一个数
			console.log(brr);   ["zhangsan", "lisi", "huahua"]
		</script>
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值