Computer >> Máy Tính >  >> Lập trình >> Javascript

Hàm # sort () trong JavaScript Array sử dụng thuật toán nào?

Đặc tả Javascript không chỉ định một thuật toán cụ thể được sử dụng trong việc triển khai Array.sort. Điều này để cho người thực hiện quyết định. Vì vậy, các công cụ JS khác nhau sử dụng các thuật toán sắp xếp khác nhau.

Mozilla (công cụ Spider Monkey JS) sử dụng mergeSort. Bạn có thể xem mã được viết cho nó bằng C trong kho lưu trữ Mozilla:https://dxr.mozilla.org/seamonkey/source/js/src/jsarray.c

WebKit (Chrome, Safari, v.v.) không trực tiếp sử dụng thuật toán sắp xếp, thay vào đó họ chọn thuật toán dựa trên các loại phần tử và độ dài của mảng. Ví dụ:

Mảng số sử dụng chức năng sắp xếp nhanh của thư viện C ++ Std.

Mảng không phải số sử dụng sắp xếp hợp nhất.

Trong một số trường hợp khác, nó sử dụng sắp xếp lựa chọn.

Nó phụ thuộc vào kiểu dữ liệu và kích thước của các phần tử mảng mà thuật toán sẽ được sử dụng để sắp xếp mảng.