用for...of遍历对象

时间:2020-04-13 13:30:33   收藏:0   阅读:82
//方法一:
var obj = {
    a:1,
    b:2,
    c:3
};
 
obj[Symbol.iterator] = function(){
    var keys = Object.keys(this);
    var count = 0;
    return {
        next(){
            if(count<keys.length){
                return {value: obj[keys[count++]],done:false};
            }else{
                return {value:undefined,done:true};
            }
        }
    }
};
 
for(var k of obj){
    console.log(k);
}
// 方法二
var obj = {
    a:1,
    b:2,
    c:3
};
obj[Symbol.iterator] = function*(){
    var keys = Object.keys(obj);
    for(var k in keys){
        yield [k,obj[k]]
    }
};
 
for(var [k,v] of obj){
    console.log(k,v);
}

 

原文:https://www.cnblogs.com/ckAng/p/12690656.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!