當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。