次のコードがあります。
function() {
$.getJSON(
myurl + '/get_data',
function(data) {
function sort_data(first, second) {
return (first.sort - second.sort);
}
console.log(data);
console.log(data.sort(sort_data));
}
... snipped for brevity
データはオブジェクトの配列で、各オブジェクトには整数のソート フィールドがあります。デフォルトでは、それらはすべてランダムな順序になっています。したがって、上記のコードを実行すると、並べ替えの前後のデータが同一であることがわかります。少なくとも両方の console.log 出力は同じです (そして、それらはソートされています)。ただし、並べ替えの部分をスキップして console.log(data.objects) だけにすると、それは異なり、並べ替えられません。
sort が最初に実行され、console.logs が後で実行されるようです。なぜそうなのですか?ありがとう!