Man*_*han 2 javascript web-inspector google-chrome-devtools ecmascript-6
这个问题没有任何疑问或问题。显然,我似乎在 chrome 控制台上偶然发现了一个错误,
我使用这个代码:
console.log("Before: ", this.selectedScorecard.scorecard_attributes);
let attribute = this.selectedScorecard.scorecard_attributes.find(item => item.id === null || item.id === undefined)
if(attribute) {
let length = this.selectedScorecard.scorecard_attributes.length;
this.selectedScorecard.scorecard_attributes.splice(length-1, 1);
console.log("After: ", this.selectedScorecard.scorecard_attributes);
}
Run Code Online (Sandbox Code Playgroud)
好的,所以属性是一个数组,它最初是一个长度为 2 的数组。现在我从数组中拼接一个项目并在拼接前后打印它的值。
在数组之前的片段中的 chrome 控制台中,它显示 (2) 表示长度为 2,但在数组本身中,它显示长度为 1,并且在“数组的控制台之前”中也只有一项,而事情显然是预期在“After console”中我附上了一张图片以便更好地理解

我很好奇,有人对此有任何想法吗?有没有人遇到过这个问题,还是只有我一个人注意到了?
当 console.log 运行时,chrome 会同步地记录下内容的摘要。该数组有 2 个元素,因此摘要记录了 (2)。Chrome 会保留对该数组的引用,以防您稍后决定要查看更多数据,但它不会克隆整个数组。
稍后,当您单击以展开数组时,它会显示更多详细信息,但会根据展开时的外观而不是日志语句最初发生的时间来显示。由于它只有 1 个元素,这就是它显示的内容。
| 归档时间: |
|
| 查看次数: |
564 次 |
| 最近记录: |