1. 程式人生 > >ES6中新增的陣列知識記錄

ES6中新增的陣列知識記錄

JSON陣列格式轉換

let  json = {
    '0': 'hello',
    '1': 'I am ',
    '2': 'michael',
    length:3
}

這就是一個JSON陣列格式,跟普通的JSON對比是在最後多了一個length屬性。只要是這種特殊的json格式都可以輕鬆使用ES6的語法轉變成陣列。在ES6中絕大部分的Array操作都存在於Array物件裡。

let arr=Array.from(json);
console.log(arr)

結果:

 

 

Array.of()方法:

它負責把一堆文字或者變數轉換成陣列。

let arr =Array.of(1,2,3,4,5,6);
console.log(arr);

執行結果: 

 

find( )/findIndex()例項方法:

所謂的例項方法就是並不是以Array物件開始的,而是必須有一個已經存在的陣列,這裡的find方法是從陣列中查詢,如果找到符合條件的陣列元素就進行return,並停止查詢。在find方法中我們需要傳入一個匿名函式,函式需要傳入三個引數:

  • value:表示當前查詢的值。
  • index:表示當前查詢的陣列索引
  • arr:表示當前陣列
let arr=[1,2,3,4,5,6,7,8,9];
console.log(arr.find(
function(value,index,arr){ return value > 5; }))

執行結果:

如果找不到會顯示undefined;同時這裡還有個對應的findIndex()方法,該方法用法跟上面的一樣,不同的是它返回的是值的座標,如果沒有找到就返回-1

 

fill( )例項方法:

fill()也是一個例項方法,它的作用是把陣列進行填充,它接收三個引數,第一個引數是填充的變數,第二個是開始填充的位置,第三個是填充到的位置。

let arr=[0,1,2,3,4,5,6,7,8,9];
arr.fill('michael',2,5);
console.log(arr);

執行結果:

 

 

entries( )例項方法:

entries()例項方式生成的是Iterator形式的陣列,那這種形式的好處就是可以讓我們在需要時用next()手動跳轉到下一個值。

let arr=['hello','i am','michael']
let list=arr.entries();
console.log(list.next().value);
console.log(list.next().value);
console.log(list.next().value);