ES6中新加的知识点和使用方法

数组

Array.from

1
2
3
4
5
6
7
8
// JSON的数组格式
let json = {
'0': 'react',
'1': 'vue',
length: 2
}
let arr = Array.from(json)

JSON的数组格式就是为了前端快速的把JSON转换成数组的一种格式

Array.of()

1
2
let arr = Array.of(3,4,5,6);
let arr = Array.of('技术胖','jspang','大胖逼逼叨');

负责把一堆文本或者变量转换成数组。

find()实例方法

1
2
3
4
let arr=[1,2,3,4,5,6,7,8,9];
arr.find((item, index, arr) => {
return item > 6
})
  • 找到了符合条件的item值,并进行返回了,如果找不到会显示undefined。
  • forEach循环的特点是会自动省略为空的数组元素,相当于直接给我们筛空了。当是有时候也会给我们帮倒忙。

fill()实例方法

1
2
let arr=[0,1,2,3,4,5,6,7,8,9];
arr.fill('react',2,5);

它的作用是把数组进行填充,它接收三个参数,第一个参数是填充的变量,第二个是开始填充的位置,第三个是填充到的位置。

数组遍历

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
let arr=['jspang','技术胖','大胖逼逼叨']
// 数组内容
for(let item of arr) {
console.log('item', item)
}
// 数组索引
for(let index of arr.keys()) {
console.log('index', index)
}
// 数组索引和内容
for(let [index, value] of arr.entries()) {
console.log(`${index}:${value}`)
}

entries()实例方法

1
2
3
4
5
let arr=['jspang','技术胖','大胖逼逼叨']
let list=arr.entries();
console.log(list.next().value); // [0, "jspang"]
console.log(list.next().value);
console.log(list.next().value);

entries()实例方式生成的是Iterator形式的数组,那这种形式的好处就是可以让我们在需要时用next()手动跳转到下一个值

in的用法

1
2
3
4
5
6
7
8
9
10
11
12
let obj={
a:'jspang',
b:'技术胖'
}
console.log('a' in obj); //true
let arr=[,,,,,];
console.log(0 in arr); //false
let arr1=['jspang','技术胖'];
console.log(0 in arr1); // true
// 这里的0指的是数组下标位置是否为空。

数据结构

Set

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 声明
let setArr = new Set(['jspang', 'react', 'webpack'])
// 追加
setArr.add('ES6')
// 删除
setArr.delete('ES6')
// 查找
setArr.has('react')
// 删除所有
setArr.clear()
// for...of...循环
for(let item of setArr) {}
// forEach 循环
setArr.forEach((item, index, set) => {})

WeakSet

1
2
3
4
// 声明
let weakObj = new WeakSet({ a: 'react', b: 'vue' })
weakObj.add({ c: 'webpack' })

Map

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
let map = new Map()
let json = { a: 'react', b: 'vue' }
map.set(json, 'json')
// 取值
map.get(json)
// 删除
map.delete(json)
// 查找
map.has(json)
// size属性
map.size()
// 清除所有元素
map.clear()

Map的灵活性要更好,你可以把它看成一种特殊的键值对,但你的key可以设置成数组,值也可以设置成字符串,让它不规律对应起来。