Hướng dẫn dùng sorting JavaScript
Trong bài này chúng ta sẽ tìm hiểu hàm sort trong javascript, đây là hàm dùng để sắp xếp các phần tử trong chính mảng đó, đồng thời sẽ kết quả đã sắp xếp đó vào một mảng mới. Show
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Thứ tự sắp xếp mặc định được tính là tăng dần. Tuy nhiên, bạn có thể can thiệp vào quá trình sắp xếp bằng cách truyền vào nó một hàm callback. Trước khi đi vào học cú pháp thì hãy xem ví dụ dưới đây. array.sort() const months = ['March', 'Jan', 'Feb', 'Dec']; months.sort(); console.log(months); // output: Array ["Dec", "Feb", "Jan", "March"] const array1 = [1, 30, 4, 21, 100000]; array1.sort(); console.log(array1); // output: Array [1, 100000, 21, 30, 4] 1. Hàm sort trong javascript là gì?Hàm sort là một method thuộc đối tượng array trong javascript, được đùng dể sắp xếp các phần tử trong mảng tăng dần hoặc giảm dần theo số thứ tự trong bảng mã ascii, hoặc theo quy tắc trong callback function.
Cú pháp sort javascript như sau: Bài viết này được đăng tại [free tuts .net] // Functionless array.sort() // Arrow function array.sort((firstEl, secondEl) => { ... } ) // Compare function array.sort(compareFn) // Inline compare function array.sort(function compareFn(firstEl, secondEl) { ... }) Trong đó:
2. Các ví dụ hàm array sort trong javascriptVí dụ 1: Trường hợp sắp xếp với chuỗi. const fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // Apple,Banana,Mango,Orange Ví dụ 2: Trường hợp sắp xếp với số. var score = [700, 8, 9, 10, 3]; console.log(score.sort()); // Keets Kết quả: [10, 3, 700, 8, 9] Như bạn thấy, kết quả trả về là sai, bởi hàm sort nó hiểu giữa hai số 3 và 10 thì 3 lớn hơn 1, vì vậy 3 sẽ đứng sau 10. Để khắc phục thì ta sẽ sử dụng callback function như sau: var score = [700, 8, 9, 10, 3]; console.log(score.sort( (firstEl, secondEl) => { if (secondEl > firstEl){ return -1; } else { return 0; } } )); // Kết quả: [3, 8, 9, 10, 700] Ví dụ 3: Sử dụng hàm sort để so sánh một mảng với các phần tử là các chuỗi. Ví dụ 4: Sử dụng tham số compareFn. Như vậy là mình đã hướng dẫn xong cách sử dụng hàm sort trong javascript để sắp xếp mảng tăng dần trong javascript. Hẹn gặp lại các bạn ở các bài tiêp theo nhé. Trong bài này chúng ta sẽ tìm hiểu hàm sort trong javascript, đây là hàm dùng để sắp xếp các phần tử trong chính mảng đó, đồng thời sẽ kết quả đã sắp xếp đó vào một mảng mới. Nội dung chính
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Thứ tự sắp xếp mặc định được tính là tăng dần. Tuy nhiên, bạn có thể can thiệp vào quá trình sắp xếp bằng cách truyền vào nó một hàm callback. Trước khi đi vào học cú pháp thì hãy xem ví dụ dưới đây. array.sort() const months = ['March', 'Jan', 'Feb', 'Dec']; months.sort(); console.log(months); // output: Array ["Dec", "Feb", "Jan", "March"] const array1 = [1, 30, 4, 21, 100000]; array1.sort(); console.log(array1); // output: Array [1, 100000, 21, 30, 4]1. Hàm sort trong javascript là gì?Hàm sort là một method thuộc đối tượng array trong javascript, được đùng dể sắp xếp các phần tử trong mảng tăng dần hoặc giảm dần theo số thứ tự trong bảng mã ascii, hoặc theo quy tắc trong callback function.
Cú pháp sort javascript như sau: Bài viết này được đăng tại [free tuts .net] // Functionless array.sort() // Arrow function array.sort((firstEl, secondEl) => { ... } ) // Compare function array.sort(compareFn) // Inline compare function array.sort(function compareFn(firstEl, secondEl) { ... }) Trong đó: compareFn là tham số không bắt buộc. Đây là một callback function dùng để quyết định thứ tự sắp xếp của các phần tử trong mảng. Hai tham số firstEl và secondEl đại diện cho hai phần tử kề nhau trong mảng, và ta sẽ sử dụng nó để quyết định cách sắp xếp.
2. Các ví dụ hàm array sort trong javascriptVí dụ 1: Trường hợp sắp xếp với chuỗi. const fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // Apple,Banana,Mango,Orange Ví dụ 2: Trường hợp sắp xếp với số. var score = [700, 8, 9, 10, 3]; console.log(score.sort()); // Keets Kết quả: [10, 3, 700, 8, 9] Như bạn thấy, kết quả trả về là sai, bởi hàm sort nó hiểu giữa hai số 3 và 10 thì 3 lớn hơn 1, vì vậy 3 sẽ đứng sau 10. Để khắc phục thì ta sẽ sử dụng callback function như sau: var score = [700, 8, 9, 10, 3]; console.log(score.sort( (firstEl, secondEl) => { if (secondEl > firstEl){ return -1; } else { return 0; } } )); // Kết quả: [3, 8, 9, 10, 700] Ví dụ 3: Sử dụng hàm sort để so sánh một mảng với các phần tử là các chuỗi.
Ví dụ 4: Sử dụng tham số compareFn.
Như vậy là mình đã hướng dẫn xong cách sử dụng hàm sort trong javascript để sắp xếp mảng tăng dần trong javascript. Hẹn gặp lại các bạn ở các bài tiêp theo nhé. Trong bài này chúng ta sẽ tìm hiểu hàm sort trong javascript, đây là hàm dùng để sắp xếp các phần tử trong chính mảng đó, đồng thời sẽ kết quả đã sắp xếp đó vào một mảng mới. Nội dung chính
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Thứ tự sắp xếp mặc định được tính là tăng dần. Tuy nhiên, bạn có thể can thiệp vào quá trình sắp xếp bằng cách truyền vào nó một hàm callback. Trước khi đi vào học cú pháp thì hãy xem ví dụ dưới đây. array.sort() const months = ['March', 'Jan', 'Feb', 'Dec']; months.sort(); console.log(months); // output: Array ["Dec", "Feb", "Jan", "March"] const array1 = [1, 30, 4, 21, 100000]; array1.sort(); console.log(array1); // output: Array [1, 100000, 21, 30, 4] 1. Hàm sort trong javascript là gì?Hàm sort là một method thuộc đối tượng array trong javascript, được đùng dể sắp xếp các phần tử trong mảng tăng dần hoặc giảm dần theo số thứ tự trong bảng mã ascii, hoặc theo quy tắc trong callback function.
Cú pháp sort javascript như sau: Bài viết này được đăng tại [free tuts .net] // Functionless array.sort() // Arrow function array.sort((firstEl, secondEl) => { ... } ) // Compare function array.sort(compareFn) // Inline compare function array.sort(function compareFn(firstEl, secondEl) { ... }) Trong đó:
2. Các ví dụ hàm array sort trong javascriptVí dụ 1: Trường hợp sắp xếp với chuỗi. const fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort(); // Apple,Banana,Mango,Orange Ví dụ 2: Trường hợp sắp xếp với số. var score = [700, 8, 9, 10, 3]; console.log(score.sort()); // Keets Kết quả: [10, 3, 700, 8, 9] Như bạn thấy, kết quả trả về là sai, bởi hàm sort nó hiểu giữa hai số 3 và 10 thì 3 lớn hơn 1, vì vậy 3 sẽ đứng sau 10. Để khắc phục thì ta sẽ sử dụng callback function như sau: var score = [700, 8, 9, 10, 3]; console.log(score.sort( (firstEl, secondEl) => { if (secondEl > firstEl){ return -1; } else { return 0; } } )); // Kết quả: [3, 8, 9, 10, 700] Ví dụ 3: Sử dụng hàm sort để so sánh một mảng với các phần tử là các chuỗi. Ví dụ 4: Sử dụng tham số compareFn. Như vậy là mình đã hướng dẫn xong cách sử dụng hàm sort trong javascript để sắp xếp mảng tăng dần trong javascript. Hẹn gặp lại các bạn ở các bài tiêp theo nhé. Nội dung bài viết Video học lập trình mỗi ngàyTrong bài viết này, chúng ta sẽ xem các trường hợp sử dụng phổ biến nhất cho phương thức Đây là một bài viết 41 của Series - Mẹo viết javascript mục đích giúp các bạn có thể tiết kiệm được nhiều thời gian để làm các việc khác. Ngoài ra, bạn có thể học nâng cao hơn trong Series - Con đường kiến trúc sư ở đó tập trung nhiều vào xử lý các tình huống khó hơn. Hôm nay bài viết có lẽ mà tôi khó có thể viết tốt hơn được tác giả, bạn muốn đọc vui lòng truy cập link gốc dưới bài viết, mục đích muốn chia sẻ một số trường hợp sử dụng phổ biến nhất cho Trước khi bắt đầu bạn cũng nên xem qua 10 tính năng phổ biến nhất của Array mà bất kỳ bạn nào cũng nên biết. Ok, đi thôi. Tăng dần (A đến Z): Chúng ta có thể sắp xếp một mảng chuỗi đơn giản bằng cách sử dụng một phương thức mảng
Giảm dần (Z đến A): Để sắp xếp mảng chuỗi theo thứ
tự giảm dần, chúng ta có thể sử dụng phương thức String
Sử dụng sort() có sự phân biệt chữ hoa và thườngTrước tiên, chúng ta hãy xem điều gì sẽ xảy ra khi chúng ta sắp xếp mặc định cho một mảng có chứa cả phần tử chuỗi chữ thường và chữ hoa.
Tăng dần (aA đến zZ): Đó là một sơ hở nếu bạn không biết có thể đi tìm rất mệt, để giải quyết vấn đề đó thì một giải pháp được đưa ra đó
là chuyển tất cả các
Hoặc một giải pháp khác...
Sort array number JavaScript
Trong ví dụ trên, chúng ta có thể thấy rằng nếu chúng ta sử dụng một sắp xếp mặc định như ví dụ trên, chúng ta sẽ nhận được đầu ra không chính xác, Giải pháp cho sắp xếp tăng dần: Chúng ta có thể sắp xếp một mảng số theo thứ tự tăng dần bằng cách sử dụng một hàm so sánh đơn giản như thế này
Giải pháp cho sắp xếp giảm dần: Để sắp
xếp một mảng số theo thứ tự giảm dần, chúng ta có thể chỉ cần hoán đổi
Sắp xếp một mảng chuỗi với định dạng Date
Trong ví dụ trên, chúng ta có thể thấy rằng chuỗi ngày Tăng dần
Để sắp xếp đúng một mảng chuỗi ngày, chúng ta có thể tạo một đối tượng
Giảm dần: Đối với thứ tự giảm dần, chúng ta có thể chỉ cần hoán đổi như sau:
Sort object array javascript by keyChúng ta có thể sắp xếp một mảng các đối tượng theo một giá trị thuộc tính như sau:
Đó là một sắp xếp cho thứ tự tăng dần và bạn cũng có thể làm ngược lại với chiều giảm dần. Giảm dần: Đối với logic thứ tự giảm dần, chúng ta chỉ cần hoán đổi
Sort object array javascript by mutiple keyTăng dần: Giả sử chúng ta có một mảng như thế này:
Yêu cầu của chúng tôi là: Đầu tiên, chúng ta cần sắp xếp các giá trị có thuộc tính Bạn có thể làm theo nhiều cách nhưng có vẻ như cách này khá phổ biến nhất.
// Output is the same as shown in the above table Hoặc, bạn cũng có thể viết điều này trong một dòng như:
và kết quả không có gì thay đổi. Tóm lạiBài viết này thật ra nó không mới so với nhiều bạn đã có kinh nghiệm với javascript rồi. Nhưng nó là một tài liệu tốt về cách sort trong array. Và đây là một bài viết được biên dịch lại từ bài viết gốc của tác giả Palash Mondal. Bạn có thể tham khảo hơn tại bài viết gốc. Chúc các bạn đạo code giỏi hơn nữa :) |