.next()メソッドはvalueとdoneという2つのプロパティを持つオブジェクトを返します。値と共にキーを返して終了するメソッドはありますか?ここでは、コードがあります:key、valueを生成するメソッドで、{value:..、key:..、done:..}の形式で行われます。
const james = {
name: 'James',
height: `5'10"`,
weight: 185,
[Symbol.iterator]:function*(){
for(let key of Object.keys(this)) {
yield this[key];
}
}
};
const iterator = james[Symbol.iterator]();
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next());
このコードの出力は次のようになります。
{ value: 'James', done: false }
{ value: '5\'10"', done: false }
{ value: 185, done: false }
予想される出力:
{ value: 'James', key: 'name', done: false }
{ value: '5\'10"', key: 'height', done: false }
{ value: 185, key: 'weight', done: false }
?いいえ、彼らはただ価値を出してしまいました。あなたは何の鍵を返そうとしていますか?単一のオブジェクトとして必要なすべてのデータを「収穫」することはできませんか? –
キーのキー:オブジェクトプロパティの値のペア – Karthik
どのオブジェクトですか?ユースケース全体を表示してください。あなたは私が推測したような発電機を使用していますか? –