Array

1.Array.from

Array.from方法用于将两类对象转为真正的数组:

  • 类似数组的对象(array-like object):要有length属性。
  • 可遍历(iterable)的对象:具有Symbol.iterator接口(包括ES6新增的数据结构Set和Map.可比案例对象是必须,类数组是

Array.from可以接受第二个参数,对每个元素进行处理,将处理后的值放入返回的数组。

     Array.from(arrayLike, x => x * x);
       // 等同于
     Array.from(arrayLike).map(x => x * x);

     Array.from([1, 2, 3], (x) => x * x)
       // [1, 4, 9]
  • Array.from()将字符串转为数组,然后返回字符串的长度。因为它能正确处理各种Unicode字符.

2.Array.of()

Array.of方法用于将一组值,转换为数组。

3.array.copywithin()

array.copywithin(target, start = 0, end = this.length)
将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。会修改原数组

4.array.find(callback)

找出第一个回到函数返回值为true的元素
callback(value,index, array)

5.数组的遍历

结合for-of遍历,array.entries(), array.keys(), array.values()

6.array.includes()

是否含有参数,含有则返回true
同indexOf相比的优势,能够判断是否含有NaN

   [NaN].indexOf(NaN)// -1
   [NaN].includes(NaN)// true

7.array.some(callback) array.every(callback)

使用callback检查数组中的元素是否都满足要求。

  • every()所有元素callback返回true,返回true,有一个返回false,就返回false
  • some()存在元素使callback返回true,就返回true

8.数组不同方法对于空位的处理

忽略

  • forEach(), filter(), every() 和some()都会跳过空位。
  • map()会跳过空位,但会保留这个值
  • join()和toString()会将空位视为undefined,而undefined和null会被处理成空字符串。

不能够忽略

  • Array.from方法,扩展运算符(...)会将数组的空位,转为undefined
  • copyWithin()会连空位一起拷贝
  • for...of循环也会遍历空位
  • entries()、keys()、values()、find()和findIndex()会将空位处理成undefined

你可能感兴趣的:(Array)