gpt4 book ai didi

Javascript循环嵌套变量

转载 作者:行者123 更新时间:2023-11-30 08:38:48 25 4
gpt4 key购买 nike

有点困惑这段代码实际上是如何工作的,主要是因为我从未在我的母语 (Python) 中看到这样使用变量

function arrayToList(array) {
var list = null;
for (var i = array.length - 1; i >= 0; i--)
list = {value: array[i], rest: list};
return list;
}

console.log(arrayToList([10, 20]));
// → {value: 10, rest: {value: 20, rest: null}}

我特别困惑 list 是如何与 for 循环一起使用的。我知道第一次通过时,列表看起来像这样 list = {value: array[i], rest: null};,但是另一个列表如何嵌套在第一个列表中for 循环的第二遍?

最佳答案

每次调用对象字面量时都会创建一个新对象。旧的 list 指针存储在新的 list 中,紧接着将指向新对象的指针存储在 list 变量中。

list = null;

//First iteration
list = {value: 30, rest: null};

└────────────────────────┐
//Second iteration │
list = {value: 20, rest: list}; //<-- see this list right here?
// it's being put in before the
// assignment happens.
//so this effectively becomes
list = {value: 20, rest: {value: 30, rest: null}};

//etc.

关于Javascript循环嵌套变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28846563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com