前端之路

JavaScript 数组方法

2019-08-13  本文已影响16人  小小_绿
Array.from()

将似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)转为数组。
只要是部署了 Iterator 接口的数据结构,Array.from都能将其转为数组。例如:字符串和 Set 结构

Array.from('hi')
// ['h', 'i']

let setname = new Set(['a', 'b'])
Array.from(setname) // ['a', 'b']

使用Array.from()的对象,必须有length属性

Array.from({ length: 3 });  // [ undefined, undefined, undefined ]

Array.from可以接受第二个参数,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。

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

Array.from()的另一个应用是,将字符串转为数组,然后返回字符串的长度。因为它能正确处理各种 Unicode 字符,可以避免 JavaScript 将大于\uFFFF的 Unicode 字符,算作两个字符的 bug。

Array.of()

将一组值,转换为数组。

代码模拟实现

function ArrayOf(){
  return [].slice.call(arguments);
}
上一篇下一篇

猜你喜欢

热点阅读