gpt4 book ai didi

javascript - 为什么我有时需要使用 JSON.stringify 有时不需要

转载 作者:行者123 更新时间:2023-12-04 23:53:16 25 4
gpt4 key购买 nike

有时在我的项目中,当我将值记录到控制台时,我使用 JSON.Stringify 来读取数据,有时我不需要这样做。我想知道为什么?

在这个例子中:

 this._productServices.getAll().do(data => console.log(data)).subscribe(products=> this.articles= products);

当我查看控制台时,有如下值:

(4) [{…}, {…}, {…}, {…}]

实际上有一个可读的值数组。

但在这种情况下:

  filteredSubProducts: Group[];

filterSubProductsByIdId(Id) {
this.filteredSubProducts= this.articles.filter(item => item.parentId == Id);
console.log("Products array" + this.filteredSubProducts);
}

我得到的结果是:

Products array[object Object],[object Object]

所以我需要在几秒钟内使用 JSON.stringify() 来让我的值 [object Object],[object Object] 可读..想知道这是为什么?有时我在使用它,有时我没有..

谢谢

最佳答案

您得到它是因为您将字符串 "Products array" 添加到数组 filteredSubProducts

所以代码实际上是在做

console.log("Products array" + this.filteredSubProducts.toString());

toString() 方法导致 [object Object]。

解决方法是不连接,而是在 console.log 语句中使用逗号

console.log("Products array", this.filteredSubProducts)

现在它将允许您在不使用 JSON.stringify() 的情况下显示它

现在 JSON.stringify() 的优点在于它会为您提供当时的快照。有时,当您更改数组、对象时,它会显示在控制台中,因为错误的值会对延迟评估造成影响。 stringify,导致它被评估,你会在那个时刻看到它。

关于javascript - 为什么我有时需要使用 JSON.stringify 有时不需要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49941049/

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