yield を使用して反復可能なコレクションを作成しようとしているアイテムのコレクションがありますが、特定の基準に一致しない値を除外したいという複雑さが増しています
function getNodes()
{
for each (let node in my_nodes)
{
if ( node.cost < 1000 )
yield node;
}
}
これは合理的と思われ、次を使用して呼び出しました。
let nodes = getNodes();
for (let item in nodes)
{
....
item
しかし、未定義として返され、コードがバーフすることがわかりました。構文は正しいですか?これを行うより良い方法はありますか?除外されたノードをインテリジェントに反復処理することを望んでいたので、元のリストの縮小バージョンを作成したくありません。