该园用来记录个人的学习内容,有些杂乱,谅解~嘿嘿~

Chloe

自学前端的小菜鸟一枚呀~
记录学习的知识

es6新特性 - 数组新增拓展

二、数组新增拓展

  • 扩展运算符的应用
  1. es6通过扩展运算符...,好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列(主要用于函数调用的时候,将一个数组变为参数序列;可以将某些数据结构转为数组,能够更简单实现数组复制,数组的合并也更为简洁)
  2. 扩展运算符可以与解构赋值结合起来,用于生成数组,如果将扩展运算符用于数组赋值,只能放在参数的最后一位,否则会报错(可以将字符串转为真正的数组)
  3. 定义了遍历器(Iterator)接口的对象,都可以用扩展运算符转为真正的数组,如果对没有Iterable接口的对象使用扩展运算符将会报错
  • 构造函数新增的方法
  1. Array.from():将两类对象转为真正的数组:类似数组的对象和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)
    可以接受第二个参数,用来对每个元素进行处理,将处理后的值放入返回的数组
  2. Array.of():用于将一组值,转换为数组
    没有参数的时候,返回一个空数组
    当参数只有一个的时候,实际上是指定数组的长度
    参数个数不少于 2 个时,Array()才会返回由参数组成的新数组
  • 实例对象新增的方法
  1. copyWithin():将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组
    target(必需):从该位置开始替换数据。如果为负值,表示倒数。
    start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示从末尾开始计算。
    end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示从末尾开始计算。
  2. find()、findIndex():find()用于找出第一个符合条件的数组成员
    参数是一个回调函数,接受三个参数依次为当前的值、当前的位置和原数组
    findIndex返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
    这两个方法都可以接受第二个参数,用来绑定回调函数的this对象
  3. fill():使用给定值,填充一个数组
    还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置
    注意,如果填充的类型为对象,则是浅拷贝
  4. entries(),keys(),values():
    keys()是对键名的遍历
    values()是对键值的遍历
    entries()是对键值对的遍历
  5. includes():用于判断数组是否包含给定的值
    方法的第二个参数表示搜索的起始位置,默认为0
    参数为负数则表示倒数的位置
  6. flat(),flatMap():将数组扁平化处理,返回一个新数组,对原数据没有影响
    flat():默认只会“拉平”一层,如果想要“拉平”多层的嵌套数组,可以将flat()方法的参数写成一个整数,表示想要拉平的层数,默认为1
    flatMap()方法对原数组的每个成员执行一个函数相当于执行Array.prototype.map(),然后对返回值组成的数组执行flat()方法。该方法返回一个新数组,不改变原数组。flatMap()方法还可以有第二个参数,用来绑定遍历函数里面的this
  • 数组的空位
  1. 数组的空位指,数组的某一个位置没有任何值
    ES6 则是明确将空位转为undefined
    包括Array.from、扩展运算符、copyWithin()、fill()、entries()、keys()、values()、find()和findIndex()
posted @   Chloe56  阅读(93)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示