我一直試圖通過雄辯的JavaScript教科書工作,我不能完全理解爲什麼這個循環工作,以建立一個對象列表。下面的代碼:這個循環如何在Javascript中工作?
function arrayToList(myArray) {
list = null
for (var i = myArray.length - 1; i >= 0; i--)
{
list = {value: myArray[i], rest: list};
}
return list;
}
console.log(arrayToList[10,20]);
發出{值:10,休息:{值:20,休息:空}}
我認爲它是一個遞歸循環,但我沒有看到如何正確重新回到列表中。我現在所能看到的是列表的值屬性被分配myArray [i]的值,然後被分配爲空。
如果有人可以向我解釋這個循環如何迭代構建這個列表,我將不勝感激。
給它一個包含兩個以上元素的數組。也許這使得它更清晰如何工作。 – Sirko 2014-11-22 00:31:42
它不是遞歸的,只需在'for'循環中將舊的'list'值賦給新的值即可。第一次迭代是'空',第二次是'{value:20,rest:null}'。 – skobaljic 2014-11-22 00:33:35
我想我明白了。我會繼續努力的。謝謝您的幫助! – user3390812 2014-11-22 00:42:24