JavaScript 循环进阶与常用方法
1.switch语句
switch(判断表达式){
case 表达式1:
语句1;
break;
case 表达式2:
语句2;
break;
case 表达式n:
语句n;
break;
default:
语句n+1;
break;
}
注意:
1.语句结束要写break,不写会穿透到下一个执行语句
2.default语句是可选的,case的表达式都不成立时默认执行的语句,一般写在最后面,语句里建议加上break
3.表达式里的值必须要全等于传入表达式才能执行对应语句,表达式为范围不生效
1.2 switch语句与if多分支语句之间的区别
1.switch语句表达式要求全等于传入的表达式,是具体的值;if多分支既可以判断一个值是否相等,还可以判断一个范围
2.(薪资+10)switch是一个扁平化的逻辑结构,获取到结果只需要判断一条路线;if多分支是一个梯形的逻辑结构,获取
到结果需要进行多次判断。switch性能更高。
2.循环进阶
2.1 循环四要素
1.循环变量初始化
2.循环判断条件
3.循环变量更新
4.循环体
2.2 while循环
let arr = [1, 2, 3];
let i = 0; 循环变量初始化
while(循环判断条件){
循环体;
i++; // 循环变量更新
}
2.3 do……while循环
let arr = [1, 2, 3]
let i = 0; 循环变量初始化
do{
循环体;
i++; // 循环变量更新
}while(循环判断条件)
2.4 for循环、while循环与do……while循环之间的区别
1.for、while循环都要先执行判断条件,再看是否执行循环体
2.do……while循环至少执行一次循环体,再看判断判断条件
2.5 死循环
循环判断条件永远为真时会导致死循环。死循环轻则导致程序卡顿、崩溃,重则损毁硬件。
while(true){
}
for(;;){
}
2.6 双重循环
for(let i = 0; i < 行数; i++){--外循环,输出行
for(let j = 0; j < 列数; j++){--内循环,输出列
}
}
2.7 循环控制语句
break: 跳出循环,结束循环;
continue: 跳出本次循环,继续下次循环;
3.数组常用方法
// 不改变原数组
join(分隔符):根据指定分隔符连接数组元素,返回一个字符串,不会改变原数组
includes(数组元素):判断数组元素是否存在原数组中,存在返回true,不存在返回false
// 改变原数组
push(数组元素, 数组元素n):在数组末尾新增一个或多个数组元素,返回新数组的长度,会改变原数组
pop():删除数组末尾元素并返回,会改变原数组
splice(开始索引,删除个数,新增元素, 新增元素n): 根据指定区间,在数组任意位置新增、删除、修改数组元素,返回删除元素的数组,会改变原数组
方法名 | 作用 |
---|---|
array.concat(arr1, arr2, arrN) | 拼接一个或多个数组,返回一个新数组 |
array.slice(开始索引, 结束索引) | 根据指定区间,截取数组返回一个新数组,包前不包后,左闭右开 |
array.indexOf(数组元素) | 查看指定数组元素在原数组中首次出现的位置并返回,如果没找到则返回-1 |
array.shift() | 删除数组首个数组元素并返回,改变原数组 |
array.unshift(数组元素, 数组元素n) | 在数组首位新增一个或多个数组元素,返回新数组的长度,改变原数组 |
4.字符串常用方法
方法名 | 作用 |
---|---|
string.replace(被替换的字符串, 新字符串) | 在字符串中用新字符串替换指定的字符串,返回新字符串 |
5.二维数组
当一维数组a中的数组元素为一个一维数组b,那么a就是二维数组
// 1.实例化的方式
let arr = new Array(new Array(), new Array(), new Array()) // [ [], [], [] ]
// 2.字面量的方式
let arr = [ [], [], [] ]
let arr = [ [1, 2, 3], [ 'a', 'b', 'c' ], [ '4', '5', '6' ] ]
// 3.组合方式
let arr1 = [ 1, 2, 3 ]
let arr2 = ['a', 'b', 'c']
let arr3 = [ arr1, arr2 ]
let arr = [ [1, 2, 3], [ 'a', 'b', 'c' ], [ '4', '5', '6' ] ]
arr[1][1]
5.2 二维数组的遍历
let arr = [ [1, 2, 3], [ 'a', 'b', 'c' ], [ '4', '5', '6' ] ]
// for语法结构
for( let i = 0; i < arr.length; i++ ){
for( let j = 0; j < arr[i].length; j++ ){
// 数组元素 arr[i][j]
}
}
// forEach语法结构
arr.forEach( function(v){
v.forEach( function(each){
// 数组元素 each
})
})
推荐阅读:
扫描二维码,在手机上阅读