首頁  >  文章  >  web前端  >  數組擴展新增的特性實例詳解

數組擴展新增的特性實例詳解

零下一度
零下一度原創
2017-06-26 10:12:491098瀏覽

在數組的擴展上感覺新增了很多實用的特性,並且感覺還挺重要的

#  一、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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn