Method Array sort() trong JS

Trong JS theo mình biết thì phương thức Array sort() có các cách sử dụng như code trong ảnh


Nếu k gọi callback func thì nó sort theo character, gọi callback func mà return a-b thì sort tăng dần còn b-a thì sort giảm dần. Cho mình hỏi ý nghĩa của tham số return này. Mình có thử test với return a+2*b thì không thấy nó thay đổi gì. Ảnh minh họa:

phép toán so sánh: (a, b) → result.
Nếu result ≤ 0 thì xếp a trước b, không thì ngược lại

5 Likes

Cũng có thể trả về kiểu luận lý (boolean). Với true để đảo vị trí 2 giá trị, false thì giữ nguyên vị trí.

4 Likes

Cho mình hỏi có bao giờ dùng những trường hợp return các số khác a-b và b-a trong thực tế không ạ. Vì mình thấy nếu return một số âm có thể nhận được một mảng đảo ngược giá trị chẳng hạn ?

Được, bạn có thể quy định tiêu chí để a đứng trước b.

4 Likes

Bạn có biết nó sort theo cách gì không. Vì nếu nó chỉ so sánh 2 số gần nhau rồi đổi chỗ thì mất nhiều vòng lặp đi lặp lại mới sort xong à ?

Có vẻ như họ dùng mergesort.

4 Likes

Ok mình đã hiểu. Cảm ơn bạn rất nhiều

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?