关于 Chrome 和 Firefox 中 Console.log 的问题
Question regarding Console.log in Chrome and Firefox
我正在思考这个:
console.log in chrome 和 firefox 显示相同的结果,排序前后(排序后的结果)。 playcode.io 编辑器中的快速测试显示了预期的结果。
chrome 中的 alert 方法也可以正常工作。
有人知道这件事的背景吗?
找到这个主题:
JavaScript console.log execution order?
但我不是很明白...
let data = [
{A: 100232},
{A: 223434},
{A: 233434},
{A: 645455},
{A: 212334},
{A: 34343},
{A: 743434},
];
console.log(data);
data.sort(function(a, b){return b.A - a.A});
console.log(data);
这不是问题,这就是 console.log
在某些浏览器中的工作方式。它正在向对象打印 link,一旦您在控制台中打开该对象,它就会显示该对象的当前版本。见 docs:
Don't use console.log(obj), use console.log(JSON.parse(JSON.stringify(obj))).
This way you are sure you are seeing the value of obj at the moment you log it. Otherwise, many browsers provide a live view that constantly updates as values change. This may not be what you want.
要在控制台记录时查看对象的版本,试试这个:
let data = [
{A: 100232},
{A: 223434},
{A: 233434},
{A: 645455},
{A: 212334},
{A: 34343},
{A: 743434},
];
console.log(JSON.stringify(data));
data.sort(function(a, b){return b.A - a.A});
console.log(JSON.stringify(data));
我正在思考这个:
console.log in chrome 和 firefox 显示相同的结果,排序前后(排序后的结果)。 playcode.io 编辑器中的快速测试显示了预期的结果。 chrome 中的 alert 方法也可以正常工作。 有人知道这件事的背景吗?
找到这个主题: JavaScript console.log execution order?
但我不是很明白...
let data = [
{A: 100232},
{A: 223434},
{A: 233434},
{A: 645455},
{A: 212334},
{A: 34343},
{A: 743434},
];
console.log(data);
data.sort(function(a, b){return b.A - a.A});
console.log(data);
这不是问题,这就是 console.log
在某些浏览器中的工作方式。它正在向对象打印 link,一旦您在控制台中打开该对象,它就会显示该对象的当前版本。见 docs:
Don't use console.log(obj), use console.log(JSON.parse(JSON.stringify(obj))).
This way you are sure you are seeing the value of obj at the moment you log it. Otherwise, many browsers provide a live view that constantly updates as values change. This may not be what you want.
要在控制台记录时查看对象的版本,试试这个:
let data = [
{A: 100232},
{A: 223434},
{A: 233434},
{A: 645455},
{A: 212334},
{A: 34343},
{A: 743434},
];
console.log(JSON.stringify(data));
data.sort(function(a, b){return b.A - a.A});
console.log(JSON.stringify(data));