美文网首页
Array.from()

Array.from()

作者: Max_Law | 来源:发表于2023-12-26 11:24 被阅读0次

Array.from()是 JavaScript 中的一个方法,用于将两类对象转换为真正的数组:

  1. 类似数组的对象(array-like object):这些对象拥有一个 length 属性和若干索引属性,但并不是真正的数组实例,例如 HTMLCollection、NodeList 等。

  2. 可遍历(iterable)的对象:包括 ES6 新增的数据结构如 Set、Map,以及任何实现了迭代器接口的对象。

Array.from()的基本用法如下:

Array.from(arrayLike[, mapFunction[, thisArg]])
  • arrayLike: 必需参数,是要转换为数组的类数组对象或可迭代对象。
  • mapFunction: 可选参数,是一个函数,会在每个元素上被调用,其返回值会被插入到新数组中。该函数接受两个参数:
    • item: 当前元素的值。
    • index: 当前元素的索引。
  • thisArg: 可选参数,是执行回调函数 mapFunction 时的 this 值。这个参数很少使用。

以下是一些使用示例:

  1. 将类数组对象转换为数组:
let divs = document.querySelectorAll('div');
let divsArray = Array.from(divs);
  1. 将字符串转换为字符数组:
let str = 'hello';
let charArray = Array.from(str); // ['h', 'e', 'l', 'l', 'o']
  1. 使用映射函数转换:
let array = Array.from({ length: 5 }, (v, i) => i * 2); // [0, 2, 4, 6, 8]
  1. 将 Set 转换为数组:
let set = new Set([1, 2, 3, 4, 4, 5]);
let arrayFromSet = Array.from(set); // [1, 2, 3, 4, 5]
  1. 将 Map 转换为数组(键值对数组):
let map = new Map().set(1, 'one').set(2, 'two');
let arrayFromMap = Array.from(map, ([key, value]) => ({ key, value }));
// [{ key: 1, value: 'one' }, { key: 2, value: 'two' }]

以上就是Array.from()的一些基本用法和示例。

相关文章

网友评论

      本文标题: Array.from()

      本文链接:https://www.haomeiwen.com/subject/jqshndtx.html