ES6-数组的扩展

扩展运算符
扩展运算符...和rest功能相反,用来将一个数组转换为用逗号分隔的参数序列

function add(x, y) {
  return x + y;
}

const numbers = [4, 38];
add(...numbers) // 42

1、Array.from()
Array.from()方法可以将两类对象转化成真正的数组

  1. 类数组对象:常见的类数组对象主要是DOM操作返回的NodeList集合和函数内部的arguments对象
  2. 可遍历对象:部署了Iterator接口的数据结构
    Array.of()
    Array.of()方法用于将一组值,转换成数组;用来弥补Array()不足
Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1
Array() // []
Array(3) // [, , ,]
Array(3, 11, 8) // [3, 11, 8]

只有当Array拥有至少两个参数时才会返回一个数组。

2、find()和findIndex()

  • find()方法用于找出第一个符合条件的数组成员,并返回该成员;参数应该是一个回调函数。
  • findIndex()方法返回数组中第一个符合条件的成员的位置(index)如果没有则返回-1

3、数组的entries()、keys()、values()
这三种方法都是用于遍历数组,返回一个遍历对象,都可以使用for....of遍历

  • keys()用于对键名的遍历
  • values()用于对键值的遍历
  • entries()用于对键值对的遍历

4、数组实列的includes()
Array.prototype.includes()方法返回值是一个布尔值,用来表示某个数组是否包含给定的值。和字符串的includes()方法相似
indexOf方法也可以实现但是存在缺陷:

  • 1、找到参数值的第一个出现位置,没有返回-1
  • 2、要使用严格相等===会导致NaN判断错误
[NaN].indexOf(NaN)
// -1
[NaN].includes(NaN)
// true
原文地址:https://www.cnblogs.com/yuanchao-blog/p/10846534.html