国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺談ES6新增的數組方法和對象

2019-11-19 15:52:55
字體:
來源:轉載
供稿:網友

es6新增的遍歷數組的方法,后面都會用這個方法來遍歷數組,或者對象,還有set,map

let arr=[1,2,3,4,3,2,1,2];

遍歷數組最簡潔直接的方法

for (let value of arr) {  console.log(value);//輸出1,2,3,4,3,2,1,2}

1. 數組.map()

返回一個新的數組,es5要復制一個新的數組我們一般用循環,現在直接用map

let arr=[1,2,3,4,3,2,1,2];let newArr=arr.map((value,index,arr)=>value)console.log(newArr)//輸出[1,2,3,4],當然里面也可以返回下標的數組console.log(newArr==arr)//輸出false

2. 數組.filter()

過濾,返回為真的值,

let arr=[1,2,3,4,3,2,1,2];let newArr1=arr.filter((value,index,arr)=>value>=3)console.log(newArr1);//輸出[3,4,3]

3. 數組.reduce()

每個參數的意思previousValue上次回調的返回值或者初始值,currentValue正在處理的數組值,currentIndex正在處理函數的下標

//以前找最大值,最小值我們是用的2層循環來找的,現在直接一行代碼搞定,是不是很爽let arr=[1,2,3,4,3,2,1,2];let newArr2=arr.reduce((pre,cur,curIndex,arr)=>pre>cur?pre:cur)//pre=1不大于cur=2,返回2;//pre接收返回值2;pre=2不大于cur=3,返回3.....//一直找到4并且返回4;//pre接收4,pre=4大于pre=3然后就一直返回的都是4,這樣就會找到最大值console.log(newArr2)//輸出4,找到最大值,如果想找最小值只需要pre<cur?pre:cur

es6提供的一種新的數據結構,它類似于數組,但是成員的值都是唯一的,沒有重復的值(包括NaN),但是set內部對象是不相等的

Set不是數組,自然就沒有length屬性,它有size屬性,set.size,就是返回它的成員數量;

let set=new Set([1,2,3,4,3,2,1]);//這里必須傳入的是數組console.log(set)//輸出set {1,2,3,4}console.log(set.add(2))//依然輸出set {1,2,3,4}console.log(set.add(5))//輸出 set {1,2,3,4,5}console.log(set.delete(1))//輸出true,表示刪除成功console.log(set.has(2))//輸出true,表示存在這個值console.log(set.clear())//輸出undefined,這個方法知識刪除所有值,并沒有返回值console.log(set)//這時候set已經清空了,所以輸出為 set {}

Array.from()方法從一個類似數組或可以迭代的對象中創建一個新的數組實例

let set=new Set([1,2,3,4,3,2,1]);console.log(Array.from(set))//用這個方法就可以把set對象轉換我數組,輸出為[1,2,3,4,3,2,1]console.log(Array.from('hello'))//輸出為['h','e','l','l','o']

利用set 和 from達到數組去重

let arr1=[1,2,2,1,1,3,5,2]console.log(Array.from(new Set(arr1)))//輸出[1,2,3,5],以后別人問你怎么數組去重,你可以裝下逼了

寫到這里突然想到es6的...方法

console.log([...new Set(arr1)])

Set的遍歷方法

for (let value of set.keys()) {console.log(value)//輸出鍵}for (let value of set.values()) {console.log(value)//輸出值}for (let value of set.entries()) {console.log(value)//輸出鍵值對}

es6提供了Map數據結構,它類似于對象,也是鍵值對的集合,但是它的強大在于鍵的范圍可以任何類型的數據;

let map=new Map([["name","張三"],[[1,2,3],18],[{},"男"]])console.log(map)console.log(map.set("name","李四"))//輸出 Map { 'name' => '張三', [ 1, 2, 3 ] => 18, {} => '男' }如果沒有這個鍵,就會添加新的鍵值對到后面console.log(map.get("name"))//輸出李四console.log(map.delete("name"))//輸出trueconsole.log(map.clear())//刪除所有鍵值對

以上這篇淺談ES6新增的數組方法和對象就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东辽县| 罗源县| 建瓯市| 松滋市| 平利县| 洛宁县| 呼玛县| 临颍县| 曲水县| 新野县| 庆云县| 沈丘县| 临湘市| 正蓝旗| 油尖旺区| 马关县| 自治县| 边坝县| 江达县| 蚌埠市| 甘洛县| 太和县| 昌宁县| 洛浦县| 肇东市| 古丈县| 大宁县| 敦化市| 团风县| 宝鸡市| 衡阳县| 石楼县| 合阳县| 合水县| 大荔县| 杭锦旗| 通化市| 盘锦市| 项城市| 铅山县| 汉寿县|