ES6入门教程之Array.from()方法
简介
ES6新提供了一个用于将类数组对象或者可迭代对象转换成数组的方法——Array.from()。
语法
Array.from(arrayLike[, mapFn[, thisArg]])
参数说明:
arrayLike
:必选参数,又称类数组对象或者可迭代对象,即要转换成数组的对象。mapFn
:可选参数,用于对数组元素进行操作的函数。thisArg
:可选参数,mapFn函数中的this对象。
示例说明
- 将类数组对象转为数组
let arrayLike = {
0: 'a',
1: 'b',
2: 'c',
3: 'd',
4: 'e',
length: 5
};
let arr = Array.from(arrayLike);
console.log(arr); // ['a', 'b', 'c', 'd', 'e']
- 将可迭代对象转为数组并进行操作
let set = new Set(['a', 'b', 'c', 'd', 'e']);
let arr = Array.from(set, item => item.toUpperCase());
console.log(arr); // ['A', 'B', 'C', 'D', 'E']
上面的代码中,使用了Set类型的可迭代对象,并通过mapFn函数将元素转换为大写字母。
注意点
Array.from()
方法中,arrayLike
对象必须有length属性,且具有整数属性名,否则会报错。Array.from()
方法中,mapFn
函数中的this对象默认为undefined,如果需要自定义this对象,可以使用第三个参数thisArg
。- 虽然
Array.from()
方法可以方便的将可迭代对象转换成数组,并进行操作,但是如果只是简单的将类数组对象转换成数组,仍然可以使用ES5原生方法[].slice.call(arrayLike)
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ES6入门教程之Array.from()方法 - Python技术站