当前位置: 首页 > 知识库问答 >
问题:

如何解释Vue.js中console.log()的这种奇怪行为呢?[副本]

萧浩漫
2023-03-14

当我使用第一个代码示例时,由于某种原因,console.log()给出了已处理的HighData变量。就好像console.log()在脚本的末尾。

console.log( "data", this.data['diagram'] );
var HighData = this.data['diagram'];

minSerieHeight = getMin( HighData[3] );
HighData[0] = mkSerie( HighData[0] );
HighData[1] = mkSerie( HighData[1] );
HighData[2] = mkSerie( HighData[2] );
HighData[3] = mkSerie( HighData[3] );

更奇怪的是,当我使用array.map()(它做的事情与上面的代码完全相同)时,它会按照预期正确地返回this.data['diagram']变量。

console.log( "data", this.data['diagram'] );
var HighData = this.data['diagram'];

minSerieHeight = getMin( HighData[ HighData.length - 1 ] );
HighData = HighData.map( e => {
    return mkSerie( e );
});

代码位于mounted()函数中的Vue组件中。getmin()mkserie()也在mounted()函数中。

共有1个答案

沃学
2023-03-14

控制台记录对象/数组是“活动的”。控制台只是存储对对象的引用。直到您在控制台中展开对象,才捕获属性的值,此时对象将发生更改。

json.stringify对于捕获对象的字符串版本非常有用。因为它是一个字符串,所以可以在没有任何更改风险的情况下记录它。要使其工作,需要将对象转换为JSON,但这并不总是可能的。

map示例有点不同。您不是在修改记录的同一个对象。仅仅为highdata指定一个新值不会改变控制台中看到的值,因为该值仍然指向原始对象。

 类似资料:
  • 问题内容: 我正在使用Python 3.6.1,但遇到了一些非常奇怪的事情。我有一个简单的字典作业错字,花了很长时间才找到。 输出量 代码在做什么?IMO应该什么时候都没有提出。起初,我认为它正在创建一个切片。但是,键入会引发一个。我也输入了控制台,但控制台没有打印任何内容。我以为也许它回来了,但是我不太确定。 我还认为这可能是单行if语句,但这也不应该是正确的语法。 此外,应提出一个。 我很困惑

  • 我有以下代码来解析一个JSON文件: 要处理以下JSON文件: 如果我执行此代码,我将收到以下错误: 所以我开始一步一步地调试应用程序,看看part processing()中的哪个代码部分抛出了这个异常。令人惊讶的是,那里的所有代码都正常执行:没有抛出异常,也没有返回结果I except。 更让我惊讶的是,当我稍微改变第一种方法的代码时,它可以在不产生异常的情况下工作。 我不知道println方

  • 我在http://www.nodebeginner.org上读了一篇教程,我在数据输出中有一个奇怪的行为。我知道,Stackoverflow也有类似的问题,但没有答案。所以我有这个Web-Server的代码: 调用RequestHandler.Upload的Router.js代码-我的buggy函数 和RequestHandler.Upload的代码 假设POST数据中有一个字符串。该函数的第一行

  • 我正在用一个项目中相互协作的两个独立的Web应用程序来试验一些问题。在进行了X次部署之后,我得到了臭名昭著的“java.lang.OutofMemoryError:PermGen Space”错误。 所以我已经用VisualVM监视PermGen空间一段时间了,不断地重新部署应用程序,看看发生了什么。 这里有奇怪的行为: 首先,我已经重新部署了15倍以上的第一个应用程序。行为与预期的一样:内存图就

  • 我不明白它是如何工作的 Spring的事务注释。所以我做了下一个测试,没有实际意义,但我它显示了我的问题: 方法,transaction必需/code>)可以正常工作。其他两个返回消息No existing transaction found for transactions marked with propagation‘mandatory’。 但是如果一个非事务性方法调用一个事务性方法(用注释

  • 问题内容: 我在GregorianCalendar类中遇到一个奇怪的行为,我想知道我是否真的做得不好。 仅当初始化日期的月份的实际Maximum大于我将日历设置为的月份时,才追加此值。 这是示例代码: 我知道问题是由于日历初始化日期是31天(可能是5月),与设置为2月(28天)的月份混淆了。修复很容易(只需在设置年和月之前将day_of_month设置为1),但是我想知道这确实是想要的行为。有什么