标题字符串与数组对象
一、回顾
1、Math对象
-
Math.floor() : 向下取整
-
Math.ceil():往上取整
-
Math.round():四舍五入
-
Math.random() : 生成0-1之间随机数 包括0,不包括
x-y
Math.floor(Math.random()*(y-x+1)+x)
-
max,min,abs,sqrt,pow
2、时间对象
-
创建时间对象 当前
var oDate = new Date()
-
创建时间对象 未来
var newDate = new Date(年,月-1,日,时,分,秒)
var newDate = new Date(“年,月,日,时:分:秒”)
var newDate = new Date(“星期 月份 日 年,时:分:秒”) //西方//在当前时间的基础创建时间
oDate.setDate(获取现在的时间+?) -
时间对象方法
- oDate.getFullYear(); //年份
- oDate.getMonth():月份 月份+1
- oDate.getDate():日期
- oDate.getDay():星期
- oDate.getHours():小时
- oDate.getMinutes():分钟
- oDate.getSeconds():秒
- Date.parse(字符串):将字符串格式的时间,转换为时间戳
-
倒计时
原理:未来的时间-当前的时候
//1.创建一个未来时间
var futrueDate = new Date(年,月-1,日,时,分,秒)//2.当前时间
var currentDate = new Date();//3.计算两个时间之间的时间差
var time = parseInt((futrueDate - currentDate)/1000);//4.换算,s
var t = parseInt(time/86400);
var h = parseInt(time%86400/3600);
var m = parseInt(time%3600/60);
var s = time%60s
m = s / 60
h = s /60 /60
t = s /60 /60 /24
3、字符串对象
-
字符串创建
//字面量创建
var str = “1212”;//new关键字创建
var str = new String(“abc”); -
字符串方法
-
length:获取字符串的长度
-
charAt(下标):获取对应下标的字符
-
charCodeAt(下标):获取对应下标字符的编码
-
indexOf(searchStr,start):查找一个字符串在另一个字符串中首次出现的位置,有返回对应的下标,没有返回-1,判断字符串中是否有某个内容的存在
-
lastIndexOf(searchStr,start):查找一个字符串在另一个字符串中最后一次出现的位置,有返回对应的下标,没有返回-1,从后往前查找,判断字符串中是否有某个内容的存在
-
截取:截取一段字符串
-
substring(start,end): 包括开始不包括结束
-
slice(start,end)
-
区别:
substring(3,-2) 负数默认为0
slice(3,-2) 倒数第几个 -
substr(start,length)
-
-
replace(被替换的,替换的): 一次只能换一个
-
二、字符串对象
1、字符串创建
//1.通过关键字new
var str1 = new String(“abc”);
//2.字面量创建
var str2 = “abc”;
2、字符串属性
length:获取字符串的长度
3、字符串的方法
charAt(index)
-
作用:获取字符串中对应下标的字符
-
参数
-
index:下标
var str = “37388888”;
console.log(str.charAt(0)); //3
-
charCodeAt(index)
-
作用:获取字符串对应下标字符的编码
-
参数:
-
index:下标
var str = “web”;
console.log(str.charCodeAt(2)); //98 “0”-48 “A”:65 “a”-97
-
indexOf()
-
作用:indexOf(searchStr[,start]):查询一个字符串在另一个字符串中首次出现的位置,有返回对应的下标位置,没有返回-1
-
参数:
- searchStr:查询的字符串
- start:可选,开始查找的位置,默认是0
var str = “uiwebuiwebuiwebui”;
var index = str.indexOf(“web”);
console.log(index); //2var index = str.indexOf(“java”);
console.log(index); //-1 找不到返回-1var index = str.indexOf(“web”,4);
console.log(index); //7
lastIndexOf()
-
作用:lastIndexOf(searchStr[,start]):查询一个字符串在另一个字符串中最后一次出现的位置,有返回对应的下标位置,没有返回-1
-
参数:
- searchStr:查询字符串
- start:可选。开始查找的位置,默认是str.length,从后往前找
var str = “uiwebuiwebuiwebui”;
var index = str.lastIndexOf(“web”);
console.log(index);//12var index = str.lastIndexOf(“web”,6);
console.log(index);//2
截取字符串
-
substring(start,end)
- 作用:截取一段字符,包括开始,不包括结束
- 参数:
- start:开始截取的位置,默认是0
- end:结束截取的位置,默认是str.length
var s = str.substring();
console.log(s); //ujiuyewebvar s = str.substring(3); //start:3,end:默认
console.log(s); //uyewebvar s = str.substring(3,5);
console.log(s);//uy -
slice(start,end)
- 作用:截取一段字符,包括开始,不包括结束
- 参数:
- start:开始截取的位置,默认是0
- end:结束截取的位置,默认是str.length
var s = str.slice(3); //uyeweb
console.log(s);//3.区别
var str = “abcdef”;
console.log(str.substring(3,-1)); //abc 负数默认为0 3,0自动交换位置
console.log(str.slice(3,-1));//de 负数:截取到倒数第几个var arr = ["[object Object]","[object Function]","[object Array]","[object String]"];
//获取元素的具体的类型
for(var i = 0;i<arr.length;i++){
console.log(arr[i].slice(8,-1));//Object Function Array String
} -
substr(start,length)
- 作用:截取字符串
- 参数:
- start:开始截取的位置
- length:截取的个数
var str = “web0824”;
console.log(str.substr(3,2)); //从3开始,截取2个 08
replace(被替换的内容,替换的内容)
-
作用:替换
var str = “javauijavauijavaui”;
//replace(被替换的内容,替换的内容)
str = str.replace(“java”,“web”); //一次只能换一个
console.log(str);for(var i = 0;i<3;i++){
str = str.replace(“java”,“web”);
console.log(str);
}
大小写转换
-
toUpperCase() : 转大写
-
toLowerCase():转小写
-
不区分大小写的比较
//1.大小写转换
var str = “Xy9rF”;
var s = “xy9rf”;
console.log(str==s); //false 用户体验不好//toUpperCase():转换为大写
str = str.toUpperCase();
console.log(str); //XY9RF//toLowerCase():转小写
str = str.toLowerCase();
console.log(str); //xy9rf//不区分大小写比较
console.log(str.toLowerCase() == s.toLowerCase()); //true
trim:去除字符串首尾空格
//2.trim():去除字符串首尾空格
var str = " hello world! “;
console.log(”|"+str+"|");
console.log("|"+str.trim()+"|"); //|hello world!|
split
-
作用:split(分割标志,length):将字符串按照特定的标志分割成数组
-
参数
-
分割标志
-
length:设置数组的长度
var str = “2020/9/29”;
var arr = str.split("/");
console.log(arr); //[“2020”, “9”, “29”]var str = “abcd”;
var arr1 = str.split("",1);
console.log(arr1); //[“a”, “b”, “c”, “d”] [“a”]
-
-
字符串转json
有这样一个url:http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e,请写
一段js程序提取url中各个get参数(参数名和参数个数不确定),将其key-value
形式返回到一个json结构中,如{a:“1”,b:“2”,c:“”,d:“xxx”,e:undefined}
var url = “http://item.taobo.com/item.html?a=1&b=2&c=&d=xxx&e”;
//1.获取url中参数(?号后面的)
//截取
/* var index = url.indexOf("?");
var str = url.substring(index+1);
console.log(str); //a=1&b=2&c=&d=xxx&e */
//分割
var str = url.split("?")[1];
console.log(str); //a=1&b=2&c=&d=xxx&e
//2.将get参数分割成一对一对
var arr = str.split("&");
console.log(arr); //[“a=1”, “b=2”, “c=”, “d=xxx”, “e”]
//3.将一组存储json结构
var strJson = {};
for(var i = 0;i<arr.length;i++){
var ar = arr[i].split("="); //[“a”,“1”]
strJson[ar[0]] = ar[1];
}
console.log(strJson);
4、常用
- length
- charAt()
- charCodeAt()
- indexOf()
- 截取
- substring(start,end)
- slice(start,end)
- substr(start,length)
- replace
- split
三、数组
数组:存储数据的容器,可以存储任意数据类型,可以存储任意多个
1、数组的创建
//字面量
var arr = [1,2,3,4];
//关键字new创建
var arr1 = new Array(1,2,3);
console.log(arr); //[1, 2, 3, 4]
console.log(arr1);//[1, 2, 3]
//如果参数只有一个并且是number类型,表示创建长度为n,值为empty的数组
var arr2 = new Array(4);
console.log(arr2); //[empty × 4]
2、数组方法
数组栈方法(数组添加和删除)
-
push pop:在数组的末尾添加或删除元素
//push(items):在数组的末尾添加一个或多个元素,返回当前数组的长度
arr.push(4);
console.log(arr); //[1, 2, 3, 4]var len = arr.push(5,6);
console.log(arr); //[1, 2, 3, 4, 5, 6]
console.log(len); //6//pop():在数组的末尾删除一个元素,返回被删除的元素
var del = arr.pop();
console.log(arr); // [1, 2, 3, 4, 5]
console.log(del); //6 -
unshift,shift:在数组的头部添加或删除元素
2.unshift,shift:在数组的头部添加或删除元素
var arr = [“a”,“b”,“c”];
//unshift(items):在数组的头部添加一个或多个元素,返回当前数组的长度
arr.unshift(1,2);
console.log(arr); //[1, 2, “a”, “b”, “c”]
//shift():在数组的头部删除一个元素,返回被删除的元素
arr.shift();
console.log(arr); //[2, “a”, “b”, “c”]
splice
-
作用:splice(start,deleteCount,items):删除数组中一段连续的元素,返回被删除元素组成的数组
-
参数:
- start:开始删除的位置
- deleteCount:删除的元素个数,默认删除到末尾
- items:替换被删除的内容
//start:开始删除的位置
var arr = [1,2,3,4,5,6,7];
var delArr = arr.splice(2);
console.log(arr); //[1, 2]
console.log(delArr); //[3, 4, 5, 6, 7]
//start:开始删除的位置 deleteCount:删除的个数
var arr = [1,2,3,4,5];
arr.splice(1,2);
console.log(arr); //[1, 4, 5]
//start:开始删除的位置 deleteCount:删除的个数 items:替换被删除的内容
var arr = [1,2,3,4,5];