当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Array.from()用法及代码示例


JavaScript Array.from() 静态方法从 array-like 或可迭代对象创建 shallow-copied Array 实例。

用法:

Array.from(arraylike, mapFunc, thisArg)

from() 方法是静态方法,使用Array 类名调用。

from()参数

from() 方法包含:

  • arraylike - Array-like 或要转换为数组的可迭代对象。
  • mapFunc(可选)- 在每个元素上调用的映射函数。
  • thisArg(可选)- 执行 mapFunc 时用作 this 的值。

注意Array.from(obj, mapFunc, thisArg)相当于Array.from(obj).map(mapFunc, thisArg).

from() 的返回值

  • 返回一个新的 Array 实例。

注意: 这个方法可以创建Array从:

  • Array -like objects - 具有长度属性并具有索引元素(如字符串)的对象。
  • 可迭代的对象,例如 MapSet

示例 1:使用 from() 方法

// Array from String
let arr1 = Array.from("abc");
console.log(arr1); // [ 'a', 'b', 'c' ]

// Array from Map
let mapper = new Map([
  ["1", "a"],
  ["2", "b"],
]);

let arr2 = Array.from(mapper);
console.log(arr2); // [ [ '1', 'a' ], [ '2', 'b' ] ]

let arr3 = Array.from(mapper.keys());
console.log(arr3); // [ '1', '2' ]

// Array from Set
let set = new Set(["JavaScript", "Python", "Go"]);
let arr4 = Array.from(set);
console.log(arr4); // [ 'JavaScript', 'Python', 'Go' ]

输出

[ 'a', 'b', 'c' ]
[ [ '1', 'a' ], [ '2', 'b' ] ]
[ '1', '2' ]
[ 'JavaScript', 'Python', 'Go' ]

这也适用于其他可迭代对象。

示例 2:将 from() 方法与 mapFunc 一起使用

function createArr(arraylike, mapFunc) {
  return Array.from(arraylike, mapFunc);
}

// using arrow function for mapFunc
let arr1 = createArr("123456", (x) => 2 * x);
console.log(arr1); // [ 2, 4, 6, 8, 10, 12 ]

输出

[ 2, 4, 6, 8, 10, 12 ]

相关用法


注:本文由纯净天空筛选整理自 Javascript Array.from()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。