ES6(五) 数组扩展

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

Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。

下面是一个类似数组的对象,Array.from将它转为真正的数组。

.copyWithin()方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。

它接受三个参数。

  • target(必需):从该位置开始替换数据。
  • start(可选):从该位置开始读取数据,默认为0。如果为负值,表示倒数。
  • end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。

数组实例的entries(),keys()和values()

ES6提供三个新的方法——entries()keys()values()——用于遍历数组。它们都返回一个遍历器对象(详见《Iterator》一章),可以用for...of循环进行遍历,唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。

 

空位

  

ES5对空位的处理,已经很不一致了,大多数情况下会忽略空位。

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

ES6 中明确的规定 将空位转化为undefined

  Array.from方法会将数组的空位,转为undefined

  copyWithin()会连空位一起拷贝。

  fill()会将空位视为正常的数组位置。

  for...of循环也会遍历空位。

  entries()keys()values()find()findIndex()会将空位处理成undefined

由于对于空位的解释不一样   所以要尽量避免空位的产生

 

 

 

原文地址:https://www.cnblogs.com/web-Rain/p/6255726.html