Object添加Symbol.iterator办法执行for--of

Posted onceweb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object添加Symbol.iterator办法执行for--of相关的知识,希望对你有一定的参考价值。

  let obj = {
        0:"我是0",
        1:"我是1",
        2:"我是2",
        length:3,
        //添加[Symbol.iterator]方法
       [Symbol.iterator] : function() {
            let _this = this;
            let index = 0;
            return {
                next:() => {
                    let value = _this[index];
                    let done = (index >= _this.length);
                    index++;
                    return {value,done}
                }
            }
        }
   };
   for(let v of obj){
        console.log(v);
   }

以上是关于Object添加Symbol.iterator办法执行for--of的主要内容,如果未能解决你的问题,请参考以下文章

尝试运行反应组件时出现错误 TypeError: Object(...)()[Symbol.iterator]().next().value is undefined

TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator)) JavaScript

如何修复:React-Context - TypeError: Object is not iterable (cannot read property Symbol(Symbol.iterator)

使用上下文 API 时出现此错误。 TypeError: Object is not iterable (cannot read property Symbol(Symbol.iterator))

使对象具有ES6中Iterator接口的实现方法

遍历器 for...of 循环