字符串章节
JSON对象
json对象:描述数据结构的一种形式,类似于一个容器,可以将若干属性和方法集合一起.
1.通过json对象名打点属性名的方式访问
- 下标法
json的遍历Ljson的遍历通常只包含属性的对象0.
定义:json对象是由键值对var json={key1:value1;key2:value2;}
遍历代码
for(var index in json){//在for。。。in中不能使用点方法操作属性,只能用下标法console。log(json[index]);}
回调函数
回调函数:一个被当作函数参数的函数
使用场景:第三方函数没有办法直接操作函数(打不开函数体),所以我们需要将自己定义的功能模块按照
四个叠代函数
forEach:
功能:遍历整个数组元素,执行某种操作,
参数:forEach(回调函数);
fun(元素的数组,[元素的下标],[数组名]){
函数体;
}
返回值:无
var arr=[6,5,7,9,8];function add(x,index,arr){arr[index]+=10;}console.log(arr);
map:
功能:遍历整个数组元素,执行某种操作,
参数:forEach(回调函数);
fun(元素的数组,[元素的下标],[数组名]){
函数体;
必须return
}
返回值:返回一个新数组
var arr = [1, 2, 3, 4, 5];function fun(x, index, arr) {return arr[index] *= 1 + 0.3;}var arr1 = arr.map(fun);console.log(arr1);
filter:
功能:过滤不要的数据,返回新数组
fun(元素的数组,[元素的下标],[数组名]){
函数体;
按条件return
}
返回值:返回一个新数组
var arr = [1,2,3,4,5];function fun(x,index,arr){if(x%2){return x;}}var arr1 = arr.filter(fun);console.log(arr1);
reduce
功能:对手的所以元素进行叠加
参数:
fun(元素的数组,[元素的下标],[数组名]){
函数体;
按条件return
}
返回值:返回一个新数组
var a = [1, 2, 3, 4, 5];function add(total, x, index, arr) {total += x;return total;}var x = a.reduce(add);console.log(x);
ascii表
10 Ctrl+回车
13 回车
32 空格
48 0
65 A
97 a
// charAt:// 功能:返回索引对应的字符// 参数:charAt(索引)// 返回值:索引对应的字符var str = "helloworld";console.log(str.charAt(0));
// charCodeAt:// 功能:返回索引对应的字符的acsii码// 参数:charCodeAt(索引)// 返回值:索引对应的字符的acsii码var str1 = "abcd";console.log(str1.charCodeAt(1));//length:返回字符串长度var str2 = "heiheihei";console.log(str2.length);
各种API
fromCharCode:功能:返回ASCII码对应的字符参数:fromCharCode(ASCII码1,[ASCII码2....]);返回值:ASCII码对应的字符console.log(String.fromCharCode(97,98,99)); //abc
indexOf("abc")查找字符串第一次出现的位置,如果没找到 返回-1var str = "helloworld";console.log(str.indexOf("l")); //2
lastIndexOf("abc")查找字符串最后一次出现的位置,如果没找到 返回-1var str = "helloworld";console.log(str.lastIndexOf("l")); //8
replace(参数1,参数2):功能:用参数2替换参数1返回值:替换后的字符串var str = "yueyi de ge bi shi yueyi";str = str.replace("yueyi","laowang");console.log(str); //laowang de ge bi shi yueyi
slice:截取字符串的函数var str = "helloworld";var str1 = str.slice(2,5);console.log(str1); //llovar str1 = str.slice(-5,-2);console.log(str1); //wor //左开右闭
substring:截取字符串的函数var str = "helloworld";var str1 = str.substring(2,5);console.log(str1); //llo
split(分隔符):将字符串按照分隔符转换成数组var str = "wo+shi+ge bi de wang shu shu";var arr = str.split("+");console.log(arr); //["wo", "shi", "ge bi de wang shu shu"]
console.log("heiHEI".toLowerCase()); //heiheiconsole.log("heiHEI".toUpperCase()); //HEIHEI
课堂练习
输入一个字符串,统计字符串中有多少个大写字母,小写字母,数字,空格,其他字符·
var str = "12a4 5bc AAB+#$%^";var bigChar = 0;var smallChar = 0;var num = 0;var space = 0;var other = 0;for(var i = 0;i<str.length;i++){if(str.charAt(i)>='A' && str.charAt(i)<='Z'){bigChar++;}else if(str.charAt(i)>='a' && str.charAt(i)<='z'){smallChar++;}else if(str.charAt(i)>='0' && str.charAt(i)<='9'){num++;}else if(str.charAt(i)==' '){space++;}else{other++;}}console.log(bigChar,smallChar,num,space,other); //3 3 4 2 5
