// 方法一: var obj = { a: 1 、 b: 2 、 c: 3 }; obj [Symbol.iterator] = function (){ var keys = Object.keys(this ); 変数カウント= 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); }
// メソッド二 変数 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); }