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}
  • 相关阅读:
    实现Email传送
    用角色来管理权限
    最大在线人数统计
    解决DataGrid显示时间格式问题
    3秒后自动跳转
    ASP.NET页面的处理顺序
    乱码问题
    动态生成button并关联其onclick事件
    获取用户计算机信息
    鼠标滚轮缩放图片(js)
  • 原文地址:https://www.cnblogs.com/wani/p/7202748.html
Copyright © 2011-2022 走看看