ES6系列_8之函式和陣列
阿新 • • 發佈:2018-12-02
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("|"));
結果為:
待續。。