es6学习笔记

1、解构赋值

数组的解构赋值

let [, , c] = [1, 2, 3]
console.log(c)  // 3
let [x] = []
console.log(x)  // undefined
let [y = 1] = []
console.log(y)  // 1 可以设置默认值

对象的解构赋值

let { a, b } = { b: 'bbb', a: 'aaa'}
console.log(a)  // aaa 不受顺序影响
let { a: b } = { a: 1 }
console.log(a)  // ReferenceError: a is not defined
console.log(b)  // 1   先找到同名的变量然后赋值,真正被赋值的是后面的变量

基本类型的解构赋值

let [a, b, c, d] = '1234'
console.log(a, b, c, d) // 1 2 3 4
let { length: len } = 'abcd'
console.log(len) // 4
let { toString: ts } = 1
let { toString: bs } = true
console.log(ts === Number.prototype.toString)  // true
console.log(bs === Boolean.prototype.toString) // true

 

2、 set

类似于数组,但是成员的值都是唯一的,集合数据解构

let a = new Set([1, 2, 3])  // 创建set
console.log(a.size) // 3  set的属性

set的方法

set.add(value) 添加一个数据,返回数据解构本身

a.add(5).add(8)

set.delete(value)  删除一个数据,返回布尔值表示删除是否成功

a.delete(8)
console.log(a.delete(5))  // true

set.has(value)  判断是否有数据,返回布尔值

console.log(a.has(2))  // true

set.clear()  清空set ,没有返回值

set.keys()  返回键名的遍历器

set.values()  返回键值的遍历器   === set.key()

set.entries()  返回键值对

let s = new Set([1, 2, 3])
console.log(s.entries()) // SetIterator {[1, 1], [2, 2], [3, 3]}

set.forEach() 使用回调函数遍历每个成员

s.forEach(function (value, key, set) {
  console.log(value, key)   // 1 1   2 2   3 3
})

利用set进行数组去重

let arr = [1, 2, 3, 5, 2, 6]
let arrFin = []
console.log(arr)
let s = new Set(arr)
s.forEach(function (key, value, set) {
  arrFin.push(value)
})
console.log(arrFin)  // [1, 2, 3, 5, 6]  去掉了重复的2

转载于:https://my.oschina.net/xuexipython/blog/1068493

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值