国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

es6--iterator 和 for...of

loostudy / 2399人閱讀

摘要:什么是中這種數據對象這樣就需要一種統一的接口機制來處理所有不同的數據結構作用為各種數據結構提供一個同一的簡便的數據接口使得數據結構的成員按照某種次序排列新增了循環來遍歷就是通過不斷的來訪問值手寫返回一個包含和屬性的對象數組字符串天生具備遍歷

什么是iterator

es6中map set arr obj 這4種數據對象 這樣就需要一種統一的接口機制來處理所有不同的數據結構
作用:
1、為各種數據結構提供一個同一的、簡便的數據接口
2、使得數據結構的成員按照某種次序排列
3、es6 新增了 for..of循環 來遍歷iterator

iterator就是通過不斷的next來訪問值{value:value}

手寫iterator
   var arr=[1,2,3]
     function iterator(arr) {
         let index=0;
         return {
             next:function () {
                 return index

數組 set map 字符串 天生具備iterator遍歷器接口

檢測一個數組解構是否天生就具有iterator?

是否具有Symbol.iterator屬性

 var arr1=[1,2,3];
    var set1=new Set(["a","b","c"])
    var map1=new Map([["a",1],["b",2]])  //一定要正確的定義Map 
        var str="sasa";
 
    var ai=arr1[Symbol.iterator]();
    var si=set1[Symbol.iterator]();
    var mi=map1[Symbol.iterator]();
    console.log(ai,si,mi)  //就會返回數組、集合、map的遍歷器接口
        console.log(str[Symbol.iterator]())  字符串的遍歷器接口

但是object是沒有Symbol.iterator這個屬性的

   var obj={};
    console.log(obj[Symbol.iterator]())  //報錯
具備iterator接口的集合都能夠進行哪些操作

1、解構賦值
2、擴展運算符 ...將一個數據結構展開

   var str="sasa";
     var arrstr=[...str];
     console.log(arrstr)

利用這個原理實現數組去重

    var arrchong=[1,2,3,1,1,3,34,4,1];
    console.log([...(new Set(arrchong))])

3、都可以是用for of循環

 var arrchong=[1,2,3,1,1,3,34,4,1];
    for(let i of arrchong){
        console.log(i)
    }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/88699.html

相關文章

  • ES6 Iterator筆記(摘抄至阮一峰的ECMAScript 6入門)

    摘要:也就是說,遍歷器對象本質上,就是一個指針對象。執行這個函數,就會返回一個遍歷器。一個對象如果要有可被循環調用的接口,就必須在的屬性上部署遍歷器生成方法原型鏈上的對象具有該方法也可。后面跟的是一個可遍歷的結構,它會調用該結構的遍歷器接口。 ES6 Iterator筆記(摘抄至阮一峰的ECMAScript 6入門) Iterator的遍歷過程 創建一個指針對象,指向當前數據結構的起始位...

    mayaohua 評論0 收藏0
  • es 知識點解讀

    摘要:返回的遍歷器對象,可以依次遍歷函數內部的每一個狀態。以后,每次調用遍歷器對象的方法,就會返回一個有著和兩個屬性的對象。由于函數就是遍歷器生成函數,因此可以把賦值給對象的屬性,從而使得該對象具有接口。 let 和 const 作用域的概念 全局作用域 函數作用域 塊作用域如何使用let和const 使用let 1、形成塊級作用域2、es6下強制開啟嚴格模式,而在es5下,需要use ...

    LoftySoul 評論0 收藏0
  • 【快速入門系列】簡述 for...in for...of 區別

    摘要:像和使用內置構造函數所創建的對象都會繼承自和的不可枚舉屬性,例如的方法或的方法。循環將遍歷對象本身的所有可枚舉屬性,以及對象從其構造函數原型中繼承的屬性更接近原型鏈中對象的屬性覆蓋原型屬性。遍歷數組時推薦使用,其中為數組每一項的值。 引言 在對數組或對象進行遍歷時,我們經常會使用到兩種方法:for...in 和 for...of,那么這兩種方法之間的區別是什么呢?讓我們來研究研究。 一...

    ashe 評論0 收藏0
  • for ...offor... in

    摘要:也就是說,遍歷器對象本質上,就是一個指針對象。規定,默認的接口部署在數據結構的屬性,或者說,一個數據結構只要具有屬性,就可以認為是可遍歷的屬性本身是一個函數,就是當前數據結構默認的遍歷器生成函數。執行這個函數,就會返回一個遍歷器。 for...in遍歷對象的屬性或數組索引(ES5) eg1:遍歷數組 var arr=[a,b,c,d]; for(let index in...

    lijinke666 評論0 收藏0
  • ES6中的Iteratorfor...of循環那些事

    摘要:一個對象如果要有可被循環調用的接口,就必須在的屬性上部署遍歷器生成方法原型鏈上的對象具有該方法也可。阮大神案例上面代碼是一個類部署接口的寫法。屬性對應一個函數,執行后返回當前對象的遍歷器對象。 最近看阮一峰阮大神的ES6,剛剛看到Iterator和for...of循環這一章,小作筆記跟大家略微分享一下,不足之處還望大家多多指正 Iterator(遍歷器)就是一種機制;任何數據結構只要是...

    OpenDigg 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<