给出以下代码:
const obj1 = { a: 2 };
const obj2 = { a: 3 };
const obj3 = { a: 1 };
const sortedArray = [obj1, obj2, obj3];
const unsortedArray = [obj1, obj2, obj3];
console.log('Sorted:', JSON.stringify(sortedArray));
console.log('Unsorted:', JSON.stringify(unsortedArray));
sortedArray.sort((one, two) => one.a - two.a);
我希望两个console.log
都按照定义的顺序输出对象-毕竟,sortedArray.sort
仅在console.log
之后称为 ,据我所知,日志是同步执行的。
但是,actual output是:
Sorted:
[{"a":2},{"a":3},{"a":1}]
Unsorted:
[{"a":2},{"a":3},{"a":1}]
怎么来?