ES6知识整理(4)--数组的扩展

最近工作比较忙,基本每天都会加班到很晚。处理一些客户端兼容问题以及提升用户体验的优化。也将近一周没更文了,现在继续es6的学习总结。


上篇回顾


ES6知识整理(三)--函数的扩展

扩展运算符


形式是3个点(...),能起到分割字符串和合并数组的作用

合并数组:(代替concat)

image.png

字符串转数组:

image.png


Map与Se结构与Generator函数


新面孔啊,之前都没听说过。

1.map结构:[key,value]结构

image.png

generator函数:(了解下即可)

go()是个遍历器对象

image.png

Array.of() 一组值转为数组


合并成组

(Array.of()方法与Array.from()方法有些类似,都是将传入的参数返回成数组,不同的是Array.of()的参数类型以及长度不固定限制,而Array.from的第一个参数类型有限制,第二个参数为可选参数) 

image.png

find()与findIndex() 返回数组成员


find(回调函数):

返回数组中第一个符合条件的成员,没有就是undefined

image.png

findIndex(回调函数):

返回数组中第一个符合条件的成员的位置,没有就是-1

(value当前值,index当前位置,arr数组本身)

image.png

fill()给定值填充数组


1个参数:所有的都变掉

image.png

多个参数:改变指定位置的值

(执行后会改变原有数组)

(超出位置不填充)

image.png

entries()、keys()、values()遍历数组


keys():遍历数组的下标

image.png

结果:

image.png

values():遍历数组的值

使用上面的arr

(这个函数需要引入babel-polyfill.js包才能运行 require或script引入)

image.png

(若不想引入包,通过keys能就能获取到values了)

image.png

结果:

image.png

entries():遍历键值对

image.png

结果:

image.png

includes() 判断是否存在


也可以用来判断字符串的字符,返回boolean

代替indexOf()

比indexOf()更优化

image.png

数组的空位


没有值,连undefined都不是

image.png

es5的forEach()、filter()、every()、some()会跳过空位

forEach():遍历

image.png

结果:

image.png

filter():按条件筛选,返回一个新数组

image.png

every():检测数组的所有元素都符合条件,返回boolean

image.png

some():检测数组中是否有元素符合条件,返回boolean

image.png

但是map()会保留空位

map():符合条件的,返回一个新数组

而ES6中entries()、keys()、values()、find()和findIndex()会将空位处理成undefined


image.png


坚持学习、总结、更文,才是常态。。。


----公众号:海瑞菌

posted @ 2018-06-02 18:13  herry菌  阅读(454)  评论(0编辑  收藏  举报