字符串章节
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")
查找字符串第一次出现的位置,如果没找到 返回-1
var str = "helloworld";
console.log(str.indexOf("l")); //2
lastIndexOf("abc")
查找字符串最后一次出现的位置,如果没找到 返回-1
var 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); //llo
var 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()); //heihei
console.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