zoukankan      html  css  js  c++  java
  • Iterator

    数组默认有迭代器属性

        var arr = [111,222,333];
        var aa = arr[Symbol.iterator]();
        aa.next(); // { value: 111, done: false }
        aa.next(); // { value: 222, done: false }
        aa.next(); // { value: 333, done: false }
        aa.next(); // { value: undefined, done: true }
    

    可以用在 数组 Map Set 类数组

        var m = new Set([11,22,33]);//set类似于数组
        console.log(m);
        var qq=m[Symbol.iterator]();
        console.log(qq.next());//{value: 11, done: false}
    
    
        var s = new Map([['name','shi'],['age',3]]);
        s.set("sex",'nv')
        console.log(s);
        var i=s[Symbol.iterator]();
        console.log(i.next());
    

    类数组

        var try=document.getElementsByName("div");
        console.log(try);
    

    自定义遍历器

        var arr = [111,222,333];
        function aa(arr){
        var i=-1;
        function next(){
            i++;
            let value;
            let done=false;
    
            if (i==arr.length) {
                value=undefined;
                done=true;
            }else{
                value=arr[i];
            }
            return{value:value,done:done};
        }
        return {next:next};
    }
    
        var zz=aa(arr); 
        console.log(zz.next());//Object {value: 111, done: false}
        console.log(zz.next());//Object {value: 222, done: false}
        console.log(zz.next());//Object {value: 333, done: false}
        console.log(zz.next());//Object {value: undefined, done: true}
  • 相关阅读:
    [bzoj2038] [2009国家集训队]小Z的袜子
    浅谈莫队
    [bzoj2754] [SCOI2012]喵星球上的点名
    [bzoj3676] [APIO2014]回文串
    [bzoj5472] 数列
    [bzoj5457] 城市
    [bzoj1023] [SHOI2008]cactus仙人掌图
    [bzoj2125] 最短路
    [bzoj5473] 仙人掌
    读《深入理解Elasticsearch》点滴-查询评分
  • 原文地址:https://www.cnblogs.com/wani/p/7202748.html
Copyright © 2011-2022 走看看