Array.from可以接受三種類型的參數:
1,Array.from (obj, mapFn)
obj指的是數組對象、類似數組對象或者是set對象,map指的是對數組中的元素進行處理的方法。
//將數組中布爾值為false的成員指為0 Array.from([1, ,2,3,3], x => x || 0) //[1,0,2,3,3] //將一個類似數組的對象轉為一個數組,並在原來的基礎上乘以2倍 let arrayLike = { '0': '2', '1': '4', '2': '5', length: 3 } Array.from(arrayLike, x => x*2) //[4,8,10] //將一個set對象轉為數組,並在原來的基礎上乘以2倍 Array.from(new Set([1,2,3,4]), x => x*2) //[2,4,6,8]
2,Array.from ({length:n}, Fn)
第一個參數指定了第二個參數執行的次數。可以將各種值轉化為真正的數組。
Array.from({length:3}, () => 'jack') //["jack", "jack", "jack"] Array.from({length:3}, item => (item = {'name':'shao','age':18}))
//[{'name':'shao','age':18}, {'name':'shao','age':18}, {'name':'shao','age':18}] Array.from({length: 2}, (v, i) => item = {index:i});//生成一個index從0到4的數組對象[{index: 0},{index: 1}]
3,Array.from(string)
接受一個字符串
Array.from('abc') //['a','b','c']