js中Array.from()有什么用?from()方法有什么用途?Array.from()是 ES6数组的扩展的方法之一,主要作用是将非数组类型转为数组结构!

Array.from() ——再学 ES6数组的扩展from()-Qui-Note

Array.from()定义

MDN:从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
W3C:用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括ES6新增的数据结构Set和Map)。
个人理解:将非数组类型,转为数组结构。前提条件:任何有length属性的对象,都可以通过Array.from方法转为数组。
 
 

案例: 

let aa = {
"0":"abc",
"1":"efg",
"2":4,
"3":5,
length:4  // 对象没有length不能转为数组
}

let bb = Array.from(aa); // 对象转为数组 —— 携带length属性
console.log(bb) //  ["abc", "efg", 4, 5]

// Set
let cc = new Set(bb); // 转为Set结构
console.log(cc) // Set(4) {"abc", "efg", 4, 5}
let dd = Array.from(cc); // 将Set结构转为数组
console.log(dd) // ["abc", "efg", 4, 5]

// Map
let ee = new Map([[1,"a"],[2,"b"]]) 
console.log(ee) // Map(2) {1 => "a", 2 => "b"}
let ff = Array.from(ee)
console.log(ff) // (2) [Array(2), Array(2)]