数组的解构赋值
let a = 'b'
let b = 'a'
[a,b] = [b,a]
console.log(a, b)
let num1 = 30
let num2 = 10
let num3 = 40
let num4 = 20
[num1, num2, num3, num4] = [num2, num4, num1, num3]
console.log(`第一:${num1},第二:${num2},第三:${num3},第四:${num4}`)
const arr = ['赵同学', '钱同学','孙同学','李同学','周同学','王同学']
const [num1,num2,num3] = arr
console.log(`第一名:${num1},第二名:${num2},第三名:${num3}`)
const [,,num3,,num5] = arr
console.log(`第三名:${num3},第五名:${num5}`)
const arr = ['赵同学', '钱同学','孙同学','李同学','周同学','王同学']
let num3 = 'z同学'
let num5 = 'w同学'
[,,num3,,num5] = arr
console.log(`第三名:${num3},第五名:${num5}`)
const arr = ['赵同学', '钱同学','孙同学','李同学','周同学','王同学']
let num3 = 'z同学'
let num5 = 'w同学'
[,,num3,,num5,,num7='鹿同学'] = arr
console.log(`第三名:${num3},第五名:${num5},第七名:${num7}`)
const arr = ['赵同学', '钱同学','孙同学','李同学','周同学','王同学']
const {2: num3, 4:num5} = arr
console.log(`第三名:${num3},第五名:${num5}`)
const arr = ['赵同学', '钱同学','孙同学','李同学','周同学','王同学']
const [notExist = '数组为空'] = arr
console.log(notExist)
const arr = ['赵同学', '钱同学','孙同学','李同学','周同学','王同学']
const [num1, num2, num3, ...restNum] = arr
console.log(`前三名是:${num1},${num2},${num3},不及格的是${restNum}`)
const arr = ['赵同学', '钱同学',['孙同学','李同学'],['周同学','王同学','吴同学'],'马同学']
const [num1,,[,num2], [,,num3]] = arr
console.log(`第一个数组的第一个元素${num1},第一个数组的第二个元素${num2},第一个数组的第二个元素${num3}`)
对象的解构赋值
const obj = {
id: '1',
name: '张三',
age: 18,
gender: '男',
email: '888888@qq.com'
}
const {name: eggname, email: eggEmail} = obj;
console.log(eggname, eggEmail)
const obj = {
id: '1',
name: '张三',
age: 18,
gender: '男',
email: '888888@qq.com'
}
const arr = ['name', 'email']
const {[arr[0]]:eggName,[arr[1]]:eggEmail} = obj
console.log(eggName, eggEmail)
const obj = {
id: '1',
name: '张三',
age: 18,
gender: '男',
email: '888888@qq.com'
}
const {name:eggName,email:eggEmail,major:eggMajor='计算机'} = obj
console.log(eggName, eggEmail, eggMajor)
const obj = {
id: '1',
name: '张三',
age: 18,
gender: '男',
email: '888888@qq.com'
}
const { id, age, ...restObj } = obj
console.log(restObj)
const obj = {
id: '1',
name: '张三',
age: 18,
gender: '男',
email: '888888@qq.com'
}
let gender = '女'
({gender} = obj)
console.log(gender)
const obj = {
name: '张三',
stills:{
cook:{
main:'炒鸡蛋'
},
language:{
frontEnd:'javascript',
backEnd:'java'
}
}
}
let{ skills:{language:{frontEnd}}} = obj
console.log(frontEnd)
const arr = [
{name: '张老师',age:18},
{name: '王老师',age:28},
{name: '李老师',age:38}
]
arr.forEach(({name,age},index)=>{
console.log(`姓名:${name},年龄:${age}`)
})
function getAPI(data){
return [data.name,data.age]
}
const [eggName, eggAge] = getAPI({name:'张三',age:18})
console.log(eggName,eggAge)
const str = '张三三'
const [first,second,third] = str
console.log(first,second,third)
let map = new Mapp()
map.set('name1','张三')
map.set('name2','李四')
map.set('name3','王五')
for (let [,value] of map){
console.log(value)
}
const str = '再见了886爱你20'
const arrReg = /(\D+)(\d+)(\D+)(\d+)/.exec(str)
const {1:bye,3:loveyou} = arrReg;
console.log(bye, loveyou)