Array.from()的使用
这是ES6新增的的一个方法。
Array.from()方法就是将一个类数组对象或者可遍历对象转换成一个真正的数组。
1.部署了Iterator接口的对象,比如:Set,Map,Array。
2.类数组对象,就是一个对象必须有length属性,没有length,转出来的就是空数组。
类数组对象
let obj = {
'0': 'james',
'1': 'kobe',
'length': 2
}
let arr = Array.from(obj)
console.log(arr); // ["james", "kobe"]
对象的属性为其他的字符串类型
let obj = {
'name1': 'james',
'name2': 'kobe',
length: 2
}
let arr = Array.from(obj)
console.log(arr); // [undefined, undefined]
没有length的对象
let obj = {
'0': 'james',
'1': 'kobe'
}
let arr = Array.from(obj)
console.log(arr); // []
set, map, array
let arr = [1,2,3]
let set = new Set(arr);
let arr1 = Array.from(set)
console.log(arr1); ///[1,2,3]
Array.from()还可以接受第二个参数
let arr = [1,2,3]
let set = new Set(arr);
let arr1 = Array.from(set, (item) => { return item + 1})
console.log(arr1); //[2, 3, 4]
将字符串转化为数组
let str = 'james'
console.log(Array.from(str)); //["j", "a", "m", "e", "s"]
Array.from()的使用大致就是这样了,有错请指教。