天天看點

Array.from的三種用法

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']
      
es6