Sắp xếp mảng JavaScript

Trong JavaScript, chúng ta có thể sắp xếp các phần tử của một mảng một cách dễ dàng bằng một phương thức có sẵn gọi là hàm sort[]

Tuy nhiên, các kiểu dữ liệu [chuỗi, số, v.v.] có thể khác nhau từ mảng này sang mảng khác. Điều này có nghĩa là chỉ sử dụng phương thức sort[] không phải lúc nào cũng là một giải pháp thích hợp

Trong bài đăng này, bạn sẽ tìm hiểu cách sắp xếp một mảng trong JavaScript bằng cách sử dụng phương thức sort[] cho chuỗi và số

Mảng chuỗi

Hãy bắt đầu với chuỗi

const teams = ['Real Madrid', 'Manchester Utd', 'Bayern Munich', 'Juventus'];

Khi chúng ta sử dụng phương thức sort[] thì mặc định các phần tử sẽ được sắp xếp theo thứ tự tăng dần [A đến Z]

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']

Nếu bạn muốn sắp xếp mảng theo thứ tự giảm dần, bạn cần sử dụng phương thức đảo ngược [ ] để thay thế

teams.reverse[];

// ['Real Madrid', 'Manchester Utd', 'Juventus', 'Bayern Munich']

Mảng số

Thật không may, sắp xếp các số không đơn giản. Nếu áp dụng trực tiếp phương pháp sắp xếp cho mảng số, chúng ta sẽ thấy một kết quả không mong muốn

const numbers = [3, 23, 12];

numbers.sort[]; // --> 12, 23, 3

Tại sao phương thức sort[] không hoạt động đối với các số

Trên thực tế, nó đang hoạt động, nhưng sự cố này xảy ra do JavaScript sắp xếp các số theo thứ tự bảng chữ cái. Hãy để tôi giải thích điều này một cách chi tiết

Hãy nghĩ về A=1, B=2, và C=3

const myArray = ['C', 'BC', 'AB'];

myArray.sort[]; // [AB, BC, C]

Ví dụ: nếu chúng ta có ba chuỗi là C [3], BC [23] và AB [12], JavaScript sẽ sắp xếp chúng là AB, BC và C theo thứ tự tăng dần, đúng theo thứ tự bảng chữ cái

Tuy nhiên, JavaScript sẽ sắp xếp các số [một lần nữa theo bảng chữ cái] là 12, 23 và 3, điều này không chính xác

Dung dịch. Chức năng so sánh

May mắn thay, chúng ta có thể hỗ trợ phương thức sort[] với một hàm so sánh cơ bản sẽ thực hiện thủ thuật này

function[a, b] {return a - b}

May mắn thay, phương pháp sắp xếp có thể sắp xếp các giá trị âm, 0 và dương theo đúng thứ tự. Khi phương thức sort[] so sánh hai giá trị, nó sẽ gửi các giá trị đó đến hàm so sánh của chúng ta và sắp xếp các giá trị theo giá trị được trả về

  • Nếu kết quả là âm, a được sắp xếp trước b
  • Nếu kết quả là dương, b được sắp xếp trước a
  • Nếu kết quả là 0, không có gì thay đổi

Tất cả những gì chúng ta cần là sử dụng hàm so sánh bên trong phương thức sort[]

const numbers = [3, 23, 12];

numbers.sort[function[a, b]{return a - b}]; // --> 3, 12, 23

Nếu chúng ta muốn sắp xếp các số theo thứ tự giảm dần, lần này chúng ta cần trừ tham số thứ hai [b] khỏi tham số đầu tiên [a]

const numbers = [3, 23, 12];

numbers.sort[function[a, b]{return b - a}]; // --> 23, 12, 3

Gói [lại

Như chúng ta có thể thấy, việc sắp xếp các phần tử của một mảng có thể được thực hiện dễ dàng trong JavaScript với phương thức sort[] nếu chúng ta biết cách sử dụng nó đúng cách. Tôi hy vọng bài viết của tôi giúp bạn hiểu cách sử dụng phương thức sort[] trong JavaScript đúng cách

Nếu bạn muốn tìm hiểu thêm về Phát triển web, vui lòng truy cập kênh Youtube của tôi

Cảm ơn bạn đã đọc

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Cem Eygi

Nhà phát triển giao diện người dùng // Theo dõi tôi trên Youtube. https. //chút. ly/3dBiTUT

Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Trong Javascript, Mảng. sort[] là một phương thức tích hợp sẵn của Array Object. Sử dụng mảng. sort[], chúng ta có thể sắp xếp mảng theo thứ tự giảm dần hoặc tăng dần. Thứ tự sắp xếp mặc định là thứ tự tăng dần cho phương pháp sắp xếp

Các trình duyệt khác nhau sử dụng các thuật toán sắp xếp khác nhau cho Array. loại[]. Mozilla sử dụng sắp xếp hợp nhất trong khi công cụ javascript V8 của chrome sử dụng sắp xếp nhanh và sắp xếp chèn

cú pháp

________số 8

so sánh Hàm là một đối số tùy chọn của phương thức sắp xếp. Nó xác định thứ tự sắp xếp. Nếu bỏ qua, các giá trị của mảng sẽ được chuyển đổi thành chuỗi và được so sánh dựa trên giá trị điểm mã Unicode của chúng

let arr = [9, 70, 44];
arr.sort[]; 
// As no compare method is provided, 
// the array elements will be converted to strings["9", "70", "44"] and // their unicode code point value will be compared.

console.log[arr];
// 44, 70, 9

So sánh chức năng

Hàm So sánh lấy hai giá trị trong mảng làm tham số để so sánh và quyết định thứ tự sắp xếp. Bạn có thể xác định điều kiện để so sánh các giá trị, điều này sẽ quyết định thứ tự sắp xếp

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']
0

Hàm so sánh quyết định thứ tự của các giá trị dựa trên các điều kiện sau

  • Nếu nó trả về số âm, chỉ số của "a" sẽ thấp hơn "b"
  • Nếu trả về số dương thì chỉ số của "a" sẽ cao hơn "b"
  • Nếu nó trả về 0, nó sẽ để phần tử ở vị trí của nó

Ghi chú. Mảng được sắp xếp tại chỗ và phương thức sắp xếp cũng trả về mảng đã sắp xếp

Ví dụ

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']
1

Hãy làm việc với một vài ví dụ để hiểu Array. sắp xếp [] tốt hơn

Sắp xếp các số không có chức năng so sánh

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']
2

Sắp xếp các số với chức năng so sánh

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']
3

Sắp xếp chuỗi

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']
4

Sắp xếp một mảng số và chuỗi

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']
5

Sắp xếp một mảng không được xác định là một phần tử

teams.sort[]; 

// ['Bayern Munich', 'Juventus', 'Manchester Utd', 'Real Madrid']
6

Tôi hy vọng bài viết này đã giúp bạn tìm hiểu một khái niệm mới, vui lòng ủng hộ và giới thiệu nó cho bạn bè và gia đình của bạn. Hãy hỏi bất kỳ câu hỏi trong các ý kiến ​​​​dưới đây

Chúng tôi thường xuyên xuất bản các bài viết về phát triển web và công nghệ. Cân nhắc đăng ký nhận bản tin của chúng tôi hoặc theo dõi chúng tôi trên các kênh xã hội của chúng tôi [twitter, Facebook, LinkedIn]

Làm cách nào tôi có thể sắp xếp mảng trong JavaScript?

Mảng. nguyên mẫu. sort[] Phương thức sort[] sắp xếp các phần tử của một mảng tại chỗ và trả về tham chiếu cho cùng một mảng, hiện đã được sắp xếp. Thứ tự sắp xếp mặc định tăng dần, được xây dựng dựa trên việc chuyển đổi các phần tử thành chuỗi, sau đó so sánh các chuỗi giá trị đơn vị mã UTF-16 của chúng.

Làm cách nào để sắp xếp một mảng trong JavaScript theo thứ tự tăng dần?

Mảng JavaScript sắp xếp[] . sort[] ghi đè lên mảng ban đầu. Hàm sort[] sắp xếp các phần tử dưới dạng chuỗi theo thứ tự bảng chữ cái và tăng dần.

Làm cách nào để sắp xếp mảng từ JavaScript thấp nhất đến cao nhất?

Giới thiệu về phương thức Array sort[] của JavaScript . Phương thức sort[] ép các phần tử thành chuỗi và so sánh các chuỗi để xác định thứ tự. the sort[] method sorts the array elements in ascending order with the smallest value first and largest value last. The sort[] method casts elements to strings and compares the strings to determine the orders.

Làm cách nào để sắp xếp mảng mà không sử dụng phương thức sắp xếp trong JavaScript?

hàm ordre[liste]{ var result=[]; . chiều dài; . chiều dài; . nhật ký [kết quả];

Chủ Đề