一:js数组与对象的解构赋值
解构赋值语法是一种 Javascript 表达式,通过解构赋值, 可以将属性/值从对象/数组中取出并赋值给其他变量,要求两边类型一致,如果是解构一个对象,外面需要加上大括号,以视为一个代码块
1:对象的解构:
const Jason = {name: 'Jason',age: 18,family: {mother: 'Mom',father: 'Dady',brother: 'Oldbrother'}};
//要求两边类型一致:
({name,age} = Jason);
console.log(name);//Jason
console.log(age);//18
// 解析也可以是嵌套的,例如:
({mother,father,brother}=Jason.family);
console.log(mother,father,brother);//Mom Dady Oldbrother
// 或者两边完全一致,获取所有属性
({name,age,family:{mother,father,brother}}=Jason);
console.log(name,age,mother,father,brother);//Jason 18 Mom Dady Oldbrother
// 如果解构的数组中没有这个属性的情况下,会报undefined
({mother,father,brother,sister}=Jason.family);
console.log(sister);//undefined
// 我们可以给数组中没有的属性添加默认值来解决
({mother,father,brother,sister='Panda'}=Jason.family);
console.log(sister);//Panda
2:数组解构
假如有如下几个数组,里面都是名字
const names = ['Luky','Eva','Philip','Mary','Jason','Mark'];
let [name1,name2]=names;
console.log(name1,name2);//Luky Eva
也可以把剩下的提取到一个变量当中,变成单独的一个数组
[name1,name2,...rest]=names;
console.log(rest);//[ "Philip", "Mary", "Jason", "Mark" ]
如果数组里面还有一个数组, 那我们左右保持一致就可以了
const nums = [1,2,3,[4,5,6]];
[a,b,c,[d,e,f]]=nums;
console.log(a,b,c,d,e,f);//1 2 3 4 5 6
跳过数组中的元素:通过添加逗号,就可以避免分配相应的元素,直接跳到下一个
[a,,b]=nums;
console.log(a,b);//1 3
二:js的流程控制
根据孩子的成绩来判断相应的奖励与惩罚,我们先用伪代码来操作:
假如分数在80分以上,奖励一部Iphone手机
假如分数线在70分以上80分以下,奖励一部小米手机
假如分数线在分数线在60分以上70分以下奖励2本练习册
假如分数在60分以下,奖励10本练习册
方案1:
let score = 60;
if(score>100 || score<0){
console.log("请输入合法的成绩");
}else if(score>=80){
console.log("奖励一部Iphone手机");
}else if(score<80 && score>=70){
console.log("奖励一部小米手机");
}else if(score<70 && score>=60){
console.log("奖励2本练习册");
}else if(score<60){
console.log("奖励10本练习册");
};
方案2:switch
let score = 100;
switch(true){
case score>100 || score<0: console.log("请输入合法的成绩");
break;
case score>=80:console.log("奖励一部Iphone手机");
break;
case score<80 && score>=70: console.log("奖励一部小米手机");
break;
case score<70 && score>=60:console.log("奖励2本练习册");
break;
default: console.log("奖励10本练习册");
}
流程控制:循环
循环,就是可以干重复的事,我们用js中的while来叫同学们去写作业
const stutents = ['小明','小李','小何','小红','小张','小刘'];
// while循环:
let i = 0;
while(i<stutents.length){
console.log(`${stutents[i]}写作业去!`);
i++;
};
//运行结果:
//小明写作业去!
//小李写作业去!
//小何写作业去!
//小红写作业去!
//小张写作业去!
//小刘写作业去!
也可以用for循环来实现
for(let value of stutents){
console.log(`${value}写作业去!`);
}
也可以在遍历当中添加条件判断:
let num = 10;
for(let i=0; i<=num;i++){
if(num%2==0){
console.log(`${i}是一个偶数`);
};
};