Rumah >hujung hadapan web >tutorial js >Adakah `Array.sort()` Stabil Merentasi Pelayar Berbeza?

Adakah `Array.sort()` Stabil Merentasi Pelayar Berbeza?

Linda Hamilton
Linda Hamiltonasal
2024-11-02 11:42:02412semak imbas

Is `Array.sort()` Stable Across Different Browsers?

Kestabilan Kaedah Array.sort() dalam Pelayar Berbeza

Spesifikasi Skrip ECMA meninggalkan pilihan algoritma pengisihan dan kestabilan kepada pelaksanaan pelayar. Oleh itu, kestabilan Array.sort() berbeza-beza merentas penyemak imbas yang berbeza.

Penilaian Kestabilan Penyemak Imbas:

IE6 : Stabil

Firefox:

  • < 3: Tidak Stabil
  • >= 3: Stabil

Chrome:

  • < 70: Tidak Stabil
  • >= 70: Stabil

Opera:

  • < 10: Tidak Stabil
  • >= 10: Stabil

Safari:

  • 4: Stabil

Tepi:

  • Stabil untuk tatasusunan dengan kurang daripada 512 elemen
  • Tidak stabil untuk tatasusunan yang lebih panjang

Pengisihan Stabil lwn. Tidak Stabil:

Algoritma pengisihan yang stabil mengekalkan susunan relatif unsur yang sama. Dalam isihan yang tidak stabil, unsur yang sama boleh menyebabkan tertibnya terbalik selepas mengisih.

Implikasi Kestabilan:

Ketidakstabilan Array.sort() dalam versi penyemak imbas tertentu boleh menjejaskan kebolehpercayaan kod pengisihan. Contohnya, apabila mengisih mengikut berbilang kriteria, ketidakstabilan boleh membawa kepada hasil yang tidak dapat diramalkan.

Sumber Tambahan:

  • [Pelaksanaan Algoritma Isih Stabil Pantas dalam JavaScript]( https://www.rosettacode.org/wiki/Sorting_algorithms/Counting_sort#JavaScript)
  • [Kes Ujian untuk Mengenalpasti Gelagat Algoritma Isih V8](https://gist.github.com/cowboy/1672257)

Atas ialah kandungan terperinci Adakah `Array.sort()` Stabil Merentasi Pelayar Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn