私はEloquent JavaScriptコースに従っています。リストから配列を生成する必要があります。
これはリストです:JavaScriptの配列へのリスト
var list = {value: 10, rest: {value: 20, rest: null}}
そして、これは「提案」コード/手順です:誰かがそれを説明してくださいすることができ、
function listToArray(list) {
var array = [];
for (var node = list; node; node = node.rest)
array.push(node.value);
return array;
}
私はループラインのを理解するのに苦労しています私には、ステップバイステップで?
Iの意味、途中で説明されている:
(listToArrayとn番目に)リスト上で実行するには、このようなループの仕様のために使用することができる。
(VARノード=リストについて; node; node = node.rest){}
これはどのように動作しますか?ループの繰り返しごとに、ノードは現在のサブリストをポイントし、ボディは現在の要素を取得するためにvalueプロパティを読み取ることができます。反復の最後に、ノードは次のサブリストに移動します。それがnullの場合、リストの最後に到達し、ループは終了します。
しかし、可能であれば、すべてのシングルステップがどのように「うまくいくか」(例があるかもしれません)を理解したかったのです。
for(var i = 0; i < something; i++)
これは、ゼロの私でループを初期化します:forループ
最初に不明な点は何ですか? – melpomene
あなたが使用している 'list'はあなたの標準リストではありません。これは[LinkedList](http://www.i-programmer.info/programming/javascript/5328-javascript-data-structures-the-linked-list.html)です。リンクされたリスト内のすべてを繰り返し処理するには、各「ノード」の「残りの部分」を読み続ける必要があります。 – byxor
'for(var node = list; node; node = node.rest)'これは 'list'で' node'を初期化します。次に、 'node'が存在するかどうかをチェックします。 「はい」の場合、ループを実行します。次の反復で 'node'が' node.rest'に設定されます – Rajesh