请问这两层循环的代码为何在node与chrome浏览器输出结果不一样
发布于 4 个月前 作者 shuaishenk 545 次浏览 来自 问答

let arr= [{value:1},{value:2}] let arr1 = [6,7] for(let [k,v] of arr1.entries()){ for(let [_k,_v] of arr.entries()){ arr[_k].value =v ; console.log(arr); } }

node 8.5输出 [ { value: 6 }, { value: 2 } ] [ { value: 6 }, { value: 6 } ] [ { value: 7 }, { value: 6 } ] [ { value: 7 }, { value: 7 } ] chrome控制台输出 (chrome版本 60.0.3112.113) 123.png

2 回复

chrome控制台的console.log对对象是延迟求值的(而且还是异步的),你继续修改数组的话,重新点开它还会变成新的值

@dislido 多谢,确实是

回到顶部