结构赋值笔记

4 篇文章 0 订阅

结构赋值

1、数组
// 数组
var arr = [1, 2, 3]
var arr2 = ['lmj', 'lhc', 'pfc']

const [a, c, b] = arr
console.log(a, b, c);  // 1 3 2
const [d, e, f] = arr2
console.log(d, e, f); // lmj lhc pfc
const [ , , g] = arr2
console.log(g);
2、对象
// 对象
// 从后端得到的数据表
var obj = {
    name: 'lmj',
    age: 21,
    doing: {
        good: 'good!',
        bad: 'bad'
    }
}
// 想要拿出来使用的属性
var arr = ['name', 'age']

// 只需要遍历数组来一个一个得到数据
const {[arr[0]]: pername, [arr[1]]: perage} = obj
console.log(pername, perage);

// 普通的赋值
const {name, age: myage, doing: {good: test}} = obj
console.log(name, myage, test);

// 当对象里没有该对象的时候就可以使用等号直接赋值,
// 如果对象里有这个属性,不会触发赋值函数,如果没有这个属性,就会赋值
const {name: name2, age: age2 = '99', gender: gender = '男'} = obj
console.log(name2, age2, gender);
// 使用展开运算符, 表示删除其他熟悉,只获得剩下的
const {name: name3, age: age3, ...perObj} = obj
console.log(perObj); // 得到除了 name 和 age 属性的剩下属性
// 可以覆盖掉已经定义的内容
let gender = '女';
({gender} = obj);
console.log(gender);
3、函数,字符串,Map
//函数、字符串、Map、模块、正则表达式
function getAPI(data){
  return [data.name, data.age]
}

const [lmjname, lmjage] = getAPI({name: 'lmj', age: 21})
console.log(lmjname, lmjage)

// 取出字符串中某一个值
var str = '刘明杰今天学习了吗?'
const [first, second, third, ...last] = str
console.log(first, second, third, last);

// 获取字符串中,第一个字符,获取所有的姓
const namelist = ['刘明杰', '彭富春', '陆浩城', '沈洋', '韩世凯']
namelist.forEach(([item], index) => {
  console.log(item); // 刘 彭 陆 沈 韩
})

// Map中省略掉键,直接获取值
let map = new Map();
map.set('name1', '刘明杰')
map.set('name2', '彭富春')
map.set('name3', '陆浩城')

for (let [,value] of map){
  console.log(value);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值