zoukankan      html  css  js  c++  java
  • ES6学习笔记(二)——数组的扩展

    扩展运算符 ...

    将数组转化成用逗号分隔的参数序列

    * 扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换。

    应用

    1. 合并数组

    2. 将字符串转化成数组

    3. 与解构赋值结合(如果用于数组赋值,只能放在参数的最后一位,否则报错)

    Array.from()

    将类数组对象(array-like-object) 和 可遍历(iterable)对象转换成数组。

    Array.from() lets you create Arrays from:

    • array-like objects (objects with a length property and indexed elements) or
    • iterable objects (objects where you can get its elements, such as Map and Set).

    from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from

    需要注意的是,类数组对象的属性必须是索引,而且要从0开始,因为转换的时候会根据属性的索引值来觉得产生的数组中元素的对应位置,如下:

    首先定义了 length 属性为 3 (虽然对象的属性长度为 4),决定了产生的数组长度,然后根据源对象的属性作为索引,0 对应的元素为空,因此数组对应的位置是 undefined。

    所谓类似数组的对象,本质特征只有一点,即必须有length属性。因此,任何有length属性的对象,都可以通过Array.from方法转为数组,而此时扩展运算符就无法转换。

    使用 Array.from() 也可以很方便地将字符串转化成数组

    Array.of()

    将一组值转换成数组,总是返回参数值组成的数组。如果没有参数,就返回一个空数组。

    find(value, index, arr)

    找出第一个符合条件的数组成员,并返回,否则返回 undefined

    findIndex()

    找出第一个符合条件的数组成员的位置,并返回位置,否则返回 -1

    includes()

    检查数组中是否包含制定的值,可以代替 indexOf() 使用

    参考:http://es6.ruanyifeng.com/#docs/array

  • 相关阅读:
    linux常用命令
    windows 安装elasticsearch-head插件
    spring boot 使用logback日志系统的详细说明
    mysql 修改密码的几种方式
    html跑马灯效果
    windows 安装elk日志系统
    logstash 启动报找不主类或无法加载 java
    MySQL和Postgresql的区别
    Swift-----泛型Generic
    Swift-----扩展extension
  • 原文地址:https://www.cnblogs.com/wx1993/p/7472543.html
Copyright © 2011-2022 走看看