1. ホーム
  2. javascript

[解決済み] For Ofループでオブジェクトを使用する

2023-04-06 22:07:48

質問

なぜループの for でオブジェクトを使用することができないのでしょうか?それとも、これはブラウザのバグですか?このコードはChrome 42で動作しません、undefinedは関数ではないと言っています。

test = { first: "one"}

for(var item of test) {
  console.log(item)
}

どのように解決するのですか?

このコードでオブジェクトをイテレートできるようにしました。

Object.prototype[Symbol.iterator] = function*() {
 for(let key of Object.keys(this)) {
  yield([ key, this[key] ])
} }

使用方法

for(let [ key, value ] of {}) { }

オルタナティヴに

for(let [ key, value ] of Object.entries({})) { }