天天看點

ES6中的數組

1、将特定格式的json資料轉成數組

定義一個json資料(length長度必須要有,且與内容的個數一緻,不然轉換後的數組會有undefined,必須從0開始,不然數組前面的資料會有undefined,數字上的引号可以省略,如果不是數字,則不會被轉成數組裡的值):

let json = {
    '0':'aa',
    '1':'bb',
    '2':'cc',
    length:
};
           

用Array.from轉化json資料:

let arr = Array.from(json);
console.log(arr);      //() ["aa", "bb", "cc"]
           

2、Array.of方法

通過該方法,可以将一堆值轉化成一個數組(傳回的是由參數值組成的數組):

let a = 'aa';
let b = 'bb';
let c = 'cc';
let arr = Array.of(a,b,c);
console.log(arr);     //() ["aa", "bb", "cc"]
           

Array.of()如果不傳值,則傳回一個空數組

3、find()

find()是一個執行個體方法,隻能通過聲明的數組變量來調用,而不能通過Array來調用,find()裡是一個回調函數,有三個參數,value,index,arr

value表示每一次查找的數組元素,index表示每一次查找的數組元素的索引(下标),arr表示被查找的數組,如果找到了,則傳回找到的數組元素,如果沒找到,則傳回undefined

let arr = ['aa','bb','cc'];
let res = arr.find((value,index,arr)=>{
    return value==='cc';
});
console.log(res);        //cc
           

4、fill()

fill()是一個執行個體方法,可以用來填充數組

fill()裡的第一個參數為要填充的資料,第二個參數表示數組填充的開始位置,第三個參數表示數組填充的結束位置(不包含該位置)

如果隻傳一個參數,可以用來做數組的初始化:

let arr = Array().fill();
console.log(arr);        //(5) [7, 7, 7, 7, 7]
           

傳三個參數的時候:

let arr = Array().fill();
console.log(arr);        //(5) [7, 7, 7, 7, 7]
arr.fill(,,);
console.log(arr);        //(5) [7, 7, 6, 7, 7]
           

5、for of 循環數組

例:

let arr = ['aa','bb','cc'];
for(let item of arr){
    console.log(item);
}
           

如果要通過for-of循環,循環出數組的索引(下标),可以通過如下的方式:

let arr = ['aa','bb','cc'];
for(let item of arr.keys()){
    console.log(item);
}        //分别列印出0、1、2
           

如果要同時輸出數組的索引和内容,可以通過如下方式:

let arr = ['aa','bb','cc'];
for(let [index,value] of arr.entries()){
    console.log(index + ' - ' + value);
}
//分别列印0 - aa 1 - bb 2 - cc