array.from用法
时间: 2023-10-08 10:12:51 浏览: 76
`Array.from()` 是 JavaScript 中的一个静态方法,它可以将类数组对象或可迭代对象转换为一个新的数组。它接受两个参数:第一个参数是要转换成数组的对象,第二个参数(可选)是一个映射函数,用于对数组中的每个元素进行转换。
以下是 `Array.from()` 的使用示例:
```javascript
// 转换字符串为数组
const str = 'hello';
const arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']
// 转换 Set 对象为数组
const set = new Set([1, 2, 3]);
const arr2 = Array.from(set);
console.log(arr2); // [1, 2, 3]
// 使用映射函数转换数组
const arr3 = [1, 2, 3];
const mappedArr = Array.from(arr3, x => x * 2);
console.log(mappedArr); // [2, 4, 6]
```
注意:`Array.from()` 方法在 ES6 中被引入,因此在使用它之前,你需要检查你的浏览器是否支持它,或者使用 polyfill 来提供支持。
相关问题
Array.from使用方法
Array.from() 方法从一个类似数组或可迭代对象中创建一个新的数组实例。它的语法如下:
```javascript
Array.from(arrayLike[, mapFn[, thisArg]])
```
参数解释:
- `arrayLike`:类似数组或可迭代对象。
- `mapFn` (可选):一个类似于 `Array.prototype.map()` 的回调函数,用来对每个元素进行处理,将处理后的结果放入新数组中。
- `thisArg` (可选):执行 `mapFn` 时 `this` 对象的值。
调用示例:
```javascript
// 从一个字符串中创建一个新的数组
Array.from('hello') // ['h', 'e', 'l', 'l', 'o']
// 从一个 Set 对象中创建一个新的数组
const set = new Set(['foo', 'bar', 'baz'])
Array.from(set) // ['foo', 'bar', 'baz']
// 使用 mapFn 将每个元素加倍
Array.from([1, 2, 3], x => x * 2) // [2, 4, 6]
```
需要注意的是,`Array.from()` 方法只能将类似数组或可迭代对象转换成数组,如果传入的参数不满足该条件,将会抛出 `TypeError` 异常。
es6中 Array.from方法和Array.of方法的区别
在ES6中,Array.from()和Array.of()都是用于创建新数组的方法,但它们的功能和使用方式有所不同。
1. Array.from():
- Array.from()方法用于从类数组对象或可迭代对象中创建一个新的数组实例。
- 它接受一个类数组对象或可迭代对象作为第一个参数,并可选地接受一个映射函数和一个上下文对象作为第二个和第三个参数。
- 它将类数组对象或可迭代对象中的每个元素转换为数组的对应元素。
- 映射函数可以在转换过程中对每个元素进行处理。
- 返回一个新的数组实例。
示例:
```javascript
// 从字符串中创建数组
const str = 'hello';
const arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']
// 从集合中创建数组
const set = new Set([1, 2, 3]);
const arr2 = Array.from(set, num => num * 2);
console.log(arr2); // [2, 4, 6]
```
2. Array.of():
- Array.of()方法用于创建一个包含任意数量参数的新数组实例。
- 它接受任意数量的参数,并将这些参数作为数组的元素,返回一个新的数组实例。
- 它解决了使用Array构造函数创建单个元素数组时的一些问题。
示例:
```javascript
const arr1 = Array.of(1, 2, 3, 4);
console.log(arr1); // [1, 2, 3, 4]
const arr2 = Array.of(5);
console.log(arr2); // [5]
const arr3 = Array.of(undefined);
console.log(arr3); // [undefined]
```
总结:
- Array.from()方法用于从类数组对象或可迭代对象中创建一个新数组,并提供映射功能。
- Array.of()方法用于创建一个包含任意数量参数的新数组实例。
阅读全文