js的array.from()方法
时间: 2024-05-12 09:15:41 浏览: 71
`Array.from()` 方法是 ES6 中新增的一个静态方法,用于将类数组对象或可遍历对象转换成数组。它的语法如下:
```javascript
Array.from(arrayLike[, mapFn[, thisArg]])
```
其中,`arrayLike` 表示要转换的类数组对象或可遍历对象,`mapFn` 是一个可选参数,表示对数组中的每个元素进行操作的函数,`thisArg` 是 `mapFn` 函数中的 `this` 值。
举个例子,假设我们有一个类数组对象 `arguments`:
```javascript
function foo() {
console.log(Array.isArray(arguments)); // false
console.log(arguments.length); // 2
console.log(arguments); // Arguments(2) ["hello", "world", callee: ƒ, Symbol(Symbol.iterator): ƒ]
}
foo('hello', 'world');
```
我们可以使用 `Array.from()` 将其转换成数组:
```javascript
function foo() {
const args = Array.from(arguments);
console.log(Array.isArray(args)); // true
console.log(args.length); // 2
console.log(args); // ["hello", "world"]
}
foo('hello', 'world');
```
另外,`Array.from()` 还支持第二个参数 `mapFn`,我们可以使用它进行一些转换操作:
```javascript
function foo() {
const args = Array.from(arguments, x => x.toUpperCase());
console.log(args); // ["HELLO", "WORLD"]
}
foo('hello', 'world');
```
阅读全文