tunjukkan urutan hasil di pengontrol sudut sama seperti yang dikirim dari pengontrol pegas

Saya mengembalikan Peta dari pengontrol pegas Java ke pengontrol sudutjs. Peta di pengontrol Java berisi kunci berikut dalam urutan 11,12,14,15,18,22,25,27,34,29 yang dipetakan ke nilai yang saya kirimkan ke pengontrol js. Masalahnya adalah ketika saya mengulangi dan menampilkan respons di halaman web, hasilnya ditampilkan dengan cara yang diurutkan seperti 11,12,14,15,18,22,25,27,29,34. Bagaimana mencegahnya dan menunjukkan pesanan yang saya kirim dari pengontrol Java (i.e.,11,12,14,15,18,22,25,27,34,29) (Harap diperhatikan perbedaannya ada pada dua nilai terakhir 34,29)

kode js:

angular.forEach($scope.myResponse, function (value, key) {
    //here the results i get are in the order 11,12,14,15,18,22,25,27,29,34.
    //how to show the results as it was sent from java spring controller 11,12,14,15,18,22,25,27,34,29
});

person user3684675    schedule 16.02.2018    source sumber
comment
Bisakah Anda memeriksa dan mengonfirmasi di tab jaringan alat pengembang, apakah Anda menerimanya sesuai urutan yang Anda perlukan?   -  person G_S    schedule 16.02.2018
comment
Sangat kecil kemungkinannya Angular melakukan penyortiran apa pun atas nama Anda tanpa izin diam-diam dari Anda. Jenis peta apa yang Anda dapatkan kembali - HashMap? TreeMap?   -  person Makoto    schedule 16.02.2018
comment
Ini adalah LinkedHashMap@Makoto   -  person user3684675    schedule 16.02.2018


Jawaban (1)


Chrome mengurutkan nama yang tepat jika dapat diuraikan sebagai bilangan bulat.

Dari Dokumen:

Urutan yang salah dalam interaksi properti Objek

ECMA-262 tidak menentukan urutan pencacahan. Standar de facto adalah mencocokkan urutan penyisipan, yang juga dilakukan oleh V8, tetapi dengan satu pengecualian:

V8 tidak memberikan jaminan pada urutan enumerasi untuk indeks array (yaitu, nama properti yang dapat diuraikan sebagai bilangan bulat 32-bit yang tidak ditandatangani).

Mengingat urutan penyisipan indeks array akan menimbulkan overhead memori yang signifikan.

— Edisi Chromium #164

Untuk menjamin ketertiban, kirimkan data sebagai array pasangan kunci/nilai.

Lihat juga:

person georgeawg    schedule 16.02.2018