为了账号安全,请及时绑定邮箱和手机立即绑定

for...of不可迭代对象

老师,for...of貌似是不能迭代对象的吧,for..of遍历的对象应该包括数组,类数组集合,字符串,set和map结构等具有iterator接口的数据结构。而对象是没有iterator接口的

正在回答

2 回答

你要这样自定义这个对象的遍历行为当然可以遍历了,手动去给它加上接口。但是就对于一个普通对象来说,它在原型的设计中就不存在iterator接口。Object.prototype[Symbol.iterator]打印出来的是undefined


0 回复 有任何疑惑可以回复我~
var json = {a: 1,b: 2};
json[Symbol.iterator] = function* (){
    for(var k of Object.keys(this)){
        yield this[k];
    }
}
for(var k of json){
    console.log(json[k])
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
TypeScript入门
  • 参与学习       59374    人
  • 解答问题       99    个

TypeScript入门视频教程包括TypeScript的基本概念、常用语法和高级特性

进入课程

for...of不可迭代对象

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信