循环obj

obj = {
    a: 123,
    b: 321
}

obj[Symbol.iterator] = function () {
  let keys = Object.keys(obj)
  let len = keys.length
  let n = 0

  return {
    next: function() {
       if (n<len) {
        return {
          value:{key:keys[n],value: obj[keys[n++]]},
          done: false
        } 
      } else {
        return {
          done: true
        } 
      }
    }
  }
}

for (var attr of obj) {
  console.log(attr)
}
// {key: "a", value: 123}
// {key: "b", value: 321}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。