美文网首页
Console.log输出数组,值并非期望中的值

Console.log输出数组,值并非期望中的值

作者: 散樱乱舞 | 来源:发表于2019-05-26 19:35 被阅读0次

有时候,console.log输出的并非当时想输出的结果,而是运行结束之后的结果。

  • 例如,有一个循环向数组添加数据,并输出数组在每一次添加新项的结果:
let a = [];
for(let i=0;i<10;i++){
    a.push(i);
    console.log(a);
}

控制台输出为:


控制台输出.png

乍一看输出十分正常,可是当把数组的箭头展开时。


控制台输出.png
数组内部却并非预料中的一样,而是输出了最后的运行结果。
  • 个人的猜想:
    在console.log执行的时候,浏览器会对log的对象求一次值,打印出来是 Object ,可以继续展开。但当你展开控制台中的 Object 的时候,浏览器又会对它求一次值,这一次是显示它的属性。所以才会有前后打印的东西不一样的情况发生,因为对象引用的实体的值改变了。
  • 如果把 console.log(a) 改为 console.log(JSON.parse(JSON.stringify(a)))


    控制台输出.png

    便是刚开始期望的结果。

相关文章

  • Console.log输出数组,值并非期望中的值

    有时候,console.log输出的并非当时想输出的结果,而是运行结束之后的结果。 例如,有一个循环向数组添加数据...

  • 2018-05-30下午

    输出数组中下标为4的值 console.log(a[4]); 给数据下标为11的位置处添加元素 a[11...

  • 10.13-3 指针与一维数组相关运算

    【输出数组最大值】 【数组逆序输出】

  • console.log

    关于console.log 在控制台输出有样式 console.log('%c 你想输出的值', 'font-si...

  • 数组中的值重复出现的次数

    问题描述:计算数组的值重复出现的次数 使用Map去统计,key值为数组中的值,value为值出现的次数。 输出结果...

  • php array_search

    用法 搜索值,返回键名 输出 返回结果 如果在数组中,找到该值,返回该值键名。如果在数组中,没找到该值,返回fal...

  • 2020-05-28 一点点成长

    在痛苦中成长~~~ 降低期望值~降低期望值~降低期望值~降低期望值~降低期望值~降低期望值~降低期望值~降低期望值...

  • (实验)Swift 值和引用

    元组 输出 可见元组赋值是值类型传递 结构体 输出 结构体赋值是值类型传递 类 数组 输出 可见数组赋值是值类型传...

  • 从0到1学习网络安全 【PHP基础-PHP 数组】

    PHP 数组 数组能够在单独的变量名中存储一个或多个值。 数组在单个变量中存储多个值: 输出:I like Vol...

  • matlab里面的max和min

    求数组最大值 输出: 求矩阵最大值 输出: 输出: 输出: 对 min 来说是一样的

网友评论

      本文标题:Console.log输出数组,值并非期望中的值

      本文链接:https://www.haomeiwen.com/subject/otmftctx.html