1. 程式人生 > >ES6系列_8之函式和陣列

ES6系列_8之函式和陣列

 

1.物件的函式解構

ES6為我們提供了這樣的解構賦值使在前後端分離時,後端返回來JSON格式的資料,前端可以直接把這個JSON格式資料當作引數,傳遞到函式內部進行處理。比如:

let json = {
    a:'es6',
    b:'es5'
}
function fun({a,b='es5'}){
    console.log(a);//es6
console.log(b);//es5 } fun(json);

結果為:

2.陣列的函式解構

 宣告一個數組,然後寫一個方法,最後用…進行解構賦值。

let arr = ['1','2','3'];
function fun(a,b,c){ console.log(a,b,c);//1,2,3 } fun(...arr);

3.in的用法

in是用來判斷物件或者陣列中是否存在某個值的。我們先來看一下用in如何判斷物件裡是否有某個值。

(1)物件判斷

let obj={
    a:'a-es6',
    b:'b-es5'
}
console.log('a' in obj);  //true

 

(2)陣列判斷

先來看一下ES5判斷的弊端,以前會使用length屬性進行判斷,為0表示沒有陣列元素。但是這並不準確,或者說真實開發中有弊端。

 

let arr=[,,,,,];
console.log(arr.length); //5

上邊的程式碼輸出了5,但是陣列中其實全是空值,這就是一個坑啊。那用ES6的in就可以解決這個問題。

let arr=[,,,,,];
console.log(0 in arr); //false
let arr1=['a','b'];
console.log(0 in arr1);  // true

注意:這裡的0指的是陣列下標位置是否為空。

4.陣列的遍歷方法

(1)forEach

let arr=['a',b','c'];
arr.forEach((val,index)=>console.log(index,val));

結果為:

forEach迴圈的特點是會自動省略為空的陣列元素,相當於直接給我們篩空了。

(2)filter

let arr=['a','b','c'];
arr.filter(x=>console.log(x));

輸出結果為:

(3)some

let arr=['a','b','c'];
arr.some(x=>console.log(x));

結果為:

(4)map

map在這裡起到一個替換的作用.

let arr=['a','b','c'];
console.log(arr.map(x=>'web'));

結果為:

5.陣列轉換字串

(1)toString()方法

let arr=['a','b','c'];
console.log(arr.toString());

轉換時只是是用逗號隔開了。

結果為:

(2)join()方法

let arr=['a','b','c'];
console.log(arr.join("|"));

結果為:

待續。。