es6的Iterator(迭代器)

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了es6的Iterator(迭代器)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

es6ITerator(迭代器)

迭代器允许每次访问数据集合的一个元素,当指针指向数据集合最后一个元素是,迭代器便会退出。它提供了 next() 函数来遍历一个序列,这个方法返回一个包含 done 和 value 属性的对象。
VAR arr = [1,2,3,4,5,6];
    for(var i = 0;i<arr.length;i++){
        console.LOG(arr[i]);
    }
    //迭代器    提升  访问具有接口数据的效率
    //迭代器  他用来访问具有遍历接口数据的,它有一个next(理解指针-1)方法
    //next 将当前指针移到下一个位置,返回一个对象{value:,done:}
    //使用迭代器
    //可遍历接口
    var iter = arr[Symbol.iterator]();
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());
    console.log(iter.next());

    //哪些数据有    遍历接口  

    //数组   Map    Set   类数组
    var obj = {};
    console.log(obj);//没有接口

    var s = new Set([1,2,3]);
    console.log(s);//有接口
    let itera = s[Symbol.iterator]();
    console.log(itera.next());

    var m = new Map([["age,23"],["sex","女"]]);
    m.set("name","姜姜");
    console.log(m);
    
    var i = m[Symbol.iterator]();
    console.log(i.next());
    console.log(i.next());
    console.log(i.next()); 

    let tags =document.getElementsByName("div");
    console.log(tags);

自定义的迭代器

var arr = [1,2,3,4,5,6];

function Iterator(arr){
    let i = -1;
    function next(){
        i++;
        let value;
        let done = false;
        if(i == arr.length) {
            value = undefined;
            done = true;
        }else{
            value = arr[i];
        }
        return {valye:arr[i],done:done};
    }
    return {next:next};
}

let iter =Iterator(arr);
console.log(iter.next());
console.log(iter.next());
console.log(iter.next());
console.log(iter.next());
console.log(iter.next());
console.log(iter.next());
console.log(iter.next());

脚本宝典总结

以上是脚本宝典为你收集整理的es6的Iterator(迭代器)全部内容,希望文章能够帮你解决es6的Iterator(迭代器)所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。