JavaScript Tutorial - Sắp xếp Numeric Array
Trong JavaScript bất cứ khi nào bạn muốn sắp xếp một mảng nó được sắp xếp theo thứ tự abc. Điều này có nghĩa là con số được sắp xếp trên cơ sở đầu tiên xảy ra trong hệ thống chữ số (1-9) và không bằng cách so sánh giá trị. Vì vậy, nếu tôi muốn sắp xếp một mảng có giá trị 10,12,11,20,2,25,30 được sắp xếp để 10,12,11,20,2,25,30 inbuilt sử dụng phương pháp phân loại các mảng JavaScript.
Ví dụ - Phân loại phương pháp truyền thống Array
"text/javascript" > <Script type = "text / javascript"> new Array ( 10 , 12 , 11 , 20 , 2 , 25 , 30 ) ; var dấu = new Array (10, 12, 11, 20, 2, 25, 30); ; đánh dấu. sắp xếp (); marks ) ; tài liệu. viết (nhãn hiệu); </ Script>
Ra: 10,11,12,2,20,25,30
Ở đây bạn thấy rằng số 2 là tới sau 12 và trước 20 trước khi các số đang nhận được sắp xếp dựa vào chữ số đầu tiên và chữ số kế tiếp.
Vì vậy, để sắp xếp một mảng trong JavaScript Numerically kỹ thuật sau đây có thể được sử dụng:
Phân loại bong bóng
Đây là một trong những phân loại kỹ thuật truyền thống được sử dụng trong Cấu trúc dữ liệu trong C, C + + ngôn ngữ lập trình. Trong kỹ thuật này các con số được so sánh với nhau và phụ thuộc vào các giá trị mà họ được trao đổi.
Ví dụ: - Sắp xếp bằng cách sử dụng Phân loại Bubble Kỹ thuật"text/javascript" > <Script type = "text / javascript"> new Array ( 10 , 12 , 11 , 20 , 2 ) ; var dấu = new Array (10, 12, 11, 20, 2); var i = 0 ; i < marks . length ; i ++ ) //Hold the first element cho chiều dài. (var i = 0; i <nhãn hiệu; i + +) / / Giữ nguyên tố đầu tiên ( var j = i + 1 ; j < marks. length ; j ++ ) //Hold the next element from the first element cho j (var dấu = i + 1; j <độ dài;. i + +) / / Giữ nguyên tố tiếp theo từ các yếu tố đầu tiên ( Number ( marks [ i ] ) > Number ( marks [ j ] ) ) //comparing first and next element nếu (Số (nhãn hiệu [i])> Number (đánh dấu [j])) / / so sánh các yếu tố đầu tiên và tiếp theo ( j ] ; tempValue = dấu [j]; = marks [ i ] ; đánh dấu [j] = nhãn [i]; = tempValue ; đánh dấu [i] = tempValue; ) ) ) marks ) ; tài liệu. viết (nhãn hiệu); script > </ Dấu> </ script>Ra: 2,10,11,12,20
Ở đây bạn thấy rằng tôi sáng tạo ra một biến tạm thời để giữ giá trị để các dữ liệu có thể được trao đổi.
Sử dụng chức năng thử nghiệm
Protoype Function trong JavaScript có thể ghi đè lên chức năng hiện có của các đối tượng. Vì vậy, bây giờ với array.sort kỹ thuật này có thể làm hoạt động sắp xếp số cung cấp bạn đã cung cấp các chức năng để phân loại dữ liệu số.
Ví dụ - Chức năng thử nghiệm"text/javascript" > Array. prototype . sort = function ( ) { for ( i = 0 ; i < this . length ; i ++ ) { for ( j = i + 1 ; j < this. length ; j ++ ) { if ( Number ( this [ i ] ) > Number ( this [ j ] ) ) { tempValue = this [ j ] ; this [ j ] = this [ i ] ; this [ i ] = tempValue ; } } } } var marks = new Array ( 10 , 12 , 11 , 20 , 2 ) ; marks. sort ( ) ; document. write ( marks ) ; </ this ></ script > <Script type = "text / javascript"> Array. Mẫu sort =. Function () (for (i = 0; i <này dài.; I + +) (for (j = i + 1; j <độ dài này. ; i + +) (if (Number (Số này [i])> Number (Số này [j])) (tempValue = này [j]; này j [] = này [i]; này [i] = tempValue;) ))) đánh dấu var = new Array (10, 12, 11, 20, 2); dấu. sắp xếp (); tài liệu. viết (nhãn hiệu); </ này> </ script>Ra: 2,10,11,12,20
I am trọng ở đây là phương pháp phân loại các mảng hiện bằng cách gọi phương pháp phân loại bong bóng bên trong nó. Vì vậy, ngay bây giờ. Sắp xếp () Phương pháp này sẽ sắp xếp nó numerically và không theo thứ tự abc.
Thay đổi Chức năng của Phân loại phương pháp hiện hành
Trong kỹ thuật này, chúng tôi sẽ vượt qua một tham số để một chức năng sắp xếp mảng đó là một chức năng mà sẽ chứa các hướng dẫn về cách so sánh các phần tử mảng.
Ví dụ:"text/javascript" > <Script type = "text / javascript"> a , b ) //Sort array in ascending order chức năng ArraySortAscending (a, b) / / Phân loại mảng thứ tự tăng dần ( a - b ) ; return (a - b); ) a , b ) //Sort array in descending order chức năng ArraySortDescending (a, b) / / Phân loại mảng thứ tự giảm dần ( b - a ) ; return (b - a); ) new Array ( 10 , 12 , 11 , 20 , 2 ) ; var dấu = new Array (10, 12, 11, 20, 2); ArraySortAscending ) ; //This will sort the array in ascending order dấu hiệu sắp xếp (ArraySortAscending).; / / Điều này sẽ sắp xếp các mảng thứ tự tăng dần marks + ' \n ' ) ; tài liệu. viết (đánh dấu + '\ n'); new Array ( 10 , 12 , 11 , 20 , 2 ) ; var dấu = new Array (10, 12, 11, 20, 2); ArraySortDescending ) ; //This will sort the array in descending order dấu hiệu sắp xếp (ArraySortDescending).; / / Điều này sẽ sắp xếp các mảng thứ tự giảm dần marks ) ; tài liệu. viết (nhãn hiệu); </ Script>Ra:
2,10,11,12,20
20,12,11,10,2
















