标签:代码 字符串 input 自带 ace atof detail efi func
1.字符串和数组有类似的东西,数组的length和下标在字符串中也使用。但区别是,length和下标在字符串的使用
中是只读的,也就是不能用来改变字符串。不多说,看代码。
var str="1134564654";
str[0]="a";
str.length=0;
console.log(str,str.length) //1134564654 10
//可以看到,length和下标的改变对字符串无影响
2.和数组同名且使用相同的方法
1)concat 拼接
var str="1134564654";
console.log(str.concat("adf","adf"); //拼接一个或多个字符串 返回新字符串,原字符串不变
2)indexOf indexLastOf查找
var str="1134564654";
console.log(str.indexOf("1") // 0 找到出现在最前面的字符 返回下标
console.log(str.indexLatOf("1") // 1 找到出现在最后面的字符 返回下标
3)slice 截取
var str="1134564654";
console.log(str.slice(0,-1)) //参数分别是起始位置和结束位置,截取至结束位置前一个,负数就倒着数,常用来去掉最后一个字符后面的符号
3.和数组名不同的方法
1)search 查找
var str="1134564654";
console.log(str.search(1)) // 0 返回下标,经常用在正则中查找字符
2)match 查找
console.log(str.match("4") // ["4", index: 3, input: "1134564654", groups: undefined]
//返回满足条件的数组 和数组中map方法类似。 返回的数组中包括: [item,index,str,groups] ;
3)replace 替换且只能替换一个
console.log(str.replace("1","a"); // 返回新的字符串,原数组不变
4)substr 截取
console.log(str.substr(0,3)); // 113 返回截取出来的新字符串 0是起始位置,3是长度,和数组中splice一样
5)substring 截取
console.log(str.substring(3,1)) // 13 返回截取的新字符串 最大的不同:第一个参数可以大于第二个,就是说可以倒着截取
6)split 切割, 去掉字符 和数组中join方法相反
console.log(str.split("6") // ["11345", "4", "54"] 分开的字符串组成数组。
4.split 方法的应用
目的:把下面地址分隔开,存在对象中 {id:592153398282,spm:a21bz.7725273.1998564503.1.15333db8AK9mZC,umpChannel:qianggou}
var str="https://detail.tmall.com/item.htm?id=592153398282&spm=a21bz.7725273.1998564503.1.15333db8AK9mZC&umpChannel=qianggou&u_channel=qianggou";
function toObj(str){
return str.split("?")[1].split("&").reduce(function(value,item){ //reduce 自带遍历的功能
var arr=item.split("=");
value[arr[0]]=arr[1];
return value;
},{})
}
console.log(toObj(str));
标签:代码 字符串 input 自带 ace atof detail efi func
原文地址:https://www.cnblogs.com/94-Lucky/p/13282390.html