📅  最后修改于: 2023-12-03 14:39:21.019000             🧑  作者: Mango
Array.from
应用介绍在 JavaScript 中,Array.from()
是一个常用的方法,用于将类数组对象或可迭代对象转换为数组。本文将介绍这个方法的具体用法和注意事项。
Array.from(arrayLike [, mapFunc [, thisArg]]);
可以看到,Array.from()
接收一个必选参数 arrayLike
,它可以是类数组对象或可迭代对象,并将其转换成一个新的数组返回。如果需要对每个元素进行特定的操作,则可以传递第二个可选参数 mapFunc
指定一个映射函数,它类似于数组的 map()
方法,并且第三个可选参数 thisArg
可以用作映射函数执行时 this
的值。
以下是一个示例,将一个类数组对象转换成一个新数组:
const arrayLike = {
0: 'foo',
1: 'bar',
2: 'baz',
length: 3
};
const arr = Array.from(arrayLike);
console.log(arr); // ['foo', 'bar', 'baz']
想要在转换过程中对每个元素执行某个操作,可以传递第二个参数 mapFunc
。这个映射函数类似于数组的 map()
方法,接收以下三个参数:
currentValue
:当前元素的值。index
:当前元素的索引。array
:原始类数组对象或可迭代对象。以下是一个示例,将一个类数组对象中的元素转换成大写:
const arrayLike = {
0: 'foo',
1: 'bar',
2: 'baz',
length: 3
};
const arr = Array.from(arrayLike, x => x.toUpperCase());
console.log(arr); // ['FOO', 'BAR', 'BAZ']
除了类数组对象,还可以将可迭代对象转换成数组。可迭代对象可以是任何具有迭代器(Symbol.iterator
)接口的对象,例如字符串、Map、Set 和 arguments 对象等。
以下是一个示例,将一个字符串转换成一个新的数组:
const str = 'hello';
const arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']
Array.from()
是一个非常实用的方法,它可以将类数组对象或可迭代对象转换成一个新的数组。在需要对每个元素进行特定操作时,可以使用映射函数来进行转换。