Array.from(arr) 和[...arr] 均可以将类数组arr转换成数组
什么叫类数组javascript
若是arr只有索引和长度,而且是对象,因此能够被Array.from转换成数组的,可是[...arr]方法,就必须能够被迭代java
let obj = {'0': 1,'1': 2,'2': 3,length: 3} let arr = Array.from(obj) console.log(arr) let arr1= [...obj] console.log(arr1)
object is not iterable
,因此咱们若是须要在obj上进行...运算,还须要在上面增长一个属性[Symbol.iterator]let obj = { '0': 1, '1': 2, '2': 3, length: 4, [Symbol.iterator]: function(){ let index = 0 let next = () => { return { value: this[index], done: this.length == ++ index } } return { next } } } let arr = Array.from(obj) console.log(arr) let arr1= [...obj] console.log(arr1)