Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
1,Array.from (obj, mapFn)
obj指的是数组对象、类似数组对象或者是set对象,mapFn指的是对数组中的元素进行处理的方法
//将一个类似数组的对象转为一个数组,并在原来的基础上乘以3倍
let arrayLike = { '0': '6', '1': '4', '2': '8', length: 3 }
Array.from(arrayLike, x => x*3) //[4,8,10]
//将一个set对象转为数组,并在原来的基础上乘以2倍
Array.from(new Set([1,2,3,4]), x => x*3) //[3,6,9,12]
2,Array.from ({length:len},Fn)
第一个参数指定了第二个参数执行的次数。可以将各种值转化为真正的数组。
Array.from({length:3}, () => 'ck') //["ck", "ck", "ck"]
Array.from({length:3}, item => (item = {'name':'li','age':18})) //[{'name':'li','age':18}, {'name':'li','age':18}, {'name':'li','age':18}]
Array.from({length: 2}, (item,index)=>index+1);//生成一个数组[1,2]
3,Array.from(string)
接受一个字符串
Array.from('string') //['s','t','r','i','n','g']