js流程控制/方法简化/函数参数过多过少处理
程序员文章站
2022-05-26 12:42:19
...
流程控制
顺序:(默认)
分支:单分支,双分支,多分支
- 单分支
if(condition){
...
}
- 双分支
if(condition){
...
}else{
...
}
(condition) ? ... : ... ;
- 多分支
if(condition){
...
}else if(condition2){
...
}else{
...
}
//区间判断传true , 单值判断传变量
switch(true){
case condition:
...
break;
case condition2:
case condition3:
//case可以多个
...
break;
default:
...
}
循环:单分支的重复执行
- 获取数组长度 array.length
let array = [1,2,3];
- while循环
i = 0;
while (i < array.length) {
console.log(array[i]);
//更新条件
i++;
}
- do while循环(不论真假都会先执行一次)
i = 0;
do {
console.log(array[i]);
//更新条件
i++;
}while(i < array.length)
- for 循环
for (let i=0;i<array.length;i++){
console.log(array[i]);
}
- for of 循环(entries转换为键值)
for(let item of array.entries){
console.log(item);
}
- for in 循环
for (let key in obj){
console.log(obj[key]);
}
- map 循环
// item循环中数据/index键/数据
obj.map((item,index,array)=>{
return item;
});
//案例
let a = [
{"name":"1号",num:1,param:[{'color':"red"}]},
{"name":"2号",num:2,param:[{'color':"blue"}]},
{"name":"3号",num:3,param:[{'color':""}]},
{"name":"4号",num:4},
{"name":"5号",num:5},
];
a.map((item)=>{
item['color'] = item['param'] && item['param'][0]['color']?item['param'][0]['color']:'';
return item;
});
- reduce 循环
// prev上次return的数据/item循环中数据/index键/数据
obj.reduce((prev,item,index,array)=>{
return item;
});
//案例
var arr = [1, 2, 3, 4];
var sum = arr.reduce(function(prev, cur, index, arr) {
console.log(prev, cur, index);
return prev + cur;
})
console.log(arr, sum);
函数参数默认值
const f = (a,b=0)=>{
return a + b;
}
函数参数过多
const f = (a,...b)=>{
return b;//把剩余参数放入数组中
}
三点运算符
- 数据集展开
console(...[1,2,3,4]);
// 1 2 3 4
- 参数过多
let f = (a,b,...arr)=>{
return arr;
}
简化
- 方法简化
let name = 'name';
const user = {
name,//name:name(原)
getName(){
return this.name;
},
//原
//getName:function(){
// return this.name
//}
}
上一篇: 云虚拟主机FTP连接不上的解决办法