在數組的擴展上感覺新增了很多實用的特性,並且感覺還挺重要的
# 一、Array.of() 將資料變數轉換成陣列形式
{ let arr = Array.of(3,4,7,9,11); console.log('arr=',arr);//[3,4,7,9,11] let empty=Array.of();//[] console.log('empty',empty); }
二、Array.from() 用來將兩類物件轉為真正的陣列:類似陣列的物件 (array-like object)和可遍歷(iterable)的物件(包括ES6新增的資料結構Set和Map)
同時 Array. from
也可以接受第二個參數,作用類似陣列的map
方法,用來對每個元素進行處理,將處理後的值放入傳回的陣列。
{ let p=document.querySelectorAll('p'); let pArr=Array.from(p); pArr.forEach(function(item){ console.log(item.textContent); }); console.log(Array.from([1,3,5],function(item){return item*2}));//[2,6,10] }
三、fill(data,startIndex,endIndex-1)對數組進行填充,如果只有一個data參數將全部進行替換,如果三個參數將從startIndex~endIndex-1全部替換為data
{ console.log('fill-7',[1,'a',undefined].fill(7));//[7,7,7] console.log('fill,pos',['a','b','c'].fill(7,1,3)); }
四、keys(傳回所有的陣列下標) values(傳回陣列所有的value) entries (包括所有的key和values)
{ for(let index of ['1','c','ks'].keys()){ console.log('keys',index); } for(let value of ['1','c','ks'].values()){ console.log('values',value); } for(let [index,value] of ['1','c','ks'].entries()){ console.log('values',index,value); } }
五、copyWithin(p1,p2,p3) 從p1位置開始用p2到p3-1的位置的資料進行覆寫
{ console.log([1,2,3,4,5].copyWithin(0,3,4));//[4,2,3,4,5] }
六、find() 找到第一個符合條件的值即停止 和findIndex() 找到第一個符合條件的值的索引即停止
{ console.log([1,2,3,4,5,6].find(function(item){return item>3}));//4 console.log([1,2,3,4,5,6].findIndex(function(item){return item>3})); }
{ console.log('number',[1,2,NaN].includes(1));//true console.log('number',[1,2,NaN].includes(NaN));//true }
#
以上是數組擴展新增的特性實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!