📜  JavaScript |数组 from() 方法(1)

📅  最后修改于: 2023-12-03 15:01:39.784000             🧑  作者: Mango

JavaScript |数组 from() 方法

在 JavaScript 中,我们可以使用 from() 方法来将一个类似数组或可迭代对象转换为一个真正的数组。

语法
Array.from(obj[, mapFn[, thisArg]])

from() 方法接收三个参数:

  • obj:要转换成数组的类数组或可迭代对象。

  • mapFn (可选):对每个元素进行转换的函数。它接收以下三个参数:

    • currentValue:当前元素的值。
    • index (可选):当前元素的索引。
    • array (可选):正在被转换的数组。
  • thisArg (可选):可选。执行 mapFn 时使用的 this 值。

示例
const str = 'hello';
const arr = Array.from(str);

console.log(arr); // ["h", "e", "l", "l", "o"]

以上代码将字符串 "hello" 转换为数组 ["h", "e", "l", "l", "o"]

const set = new Set(['foo', 'bar']);
const arr = Array.from(set, x => x.toUpperCase());

console.log(arr); // ["FOO", "BAR"]

以上代码将 Set 类型的 set 对象转换为大写字母的数组 ["FOO", "BAR"]

const obj = { a: 1, b: 2, c: 3 };
const arr = Array.from(Object.keys(obj), x => obj[x] * 2);

console.log(arr); // [2, 4, 6]

以上代码将对象 { a: 1, b: 2, c: 3 } 的键名转换成数组,并把对应的键值乘以二,返回 [2, 4, 6]

总结

from() 方法使得我们可以方便地将类数组或可迭代对象转换为真正的数组,并且可以同时进行转换操作。这是一个非常实用的方法,它能大大减少我们代码的复杂度,提高我们的开发效率。