Javascript sắp xếp mảng của mảng theo phần tử thứ hai
Tuy nhiên, nếu các số được sắp xếp dưới dạng chuỗi, thì "25" lớn hơn "100", vì "2" lớn hơn "1" Show
Do đó, phương thức Bạn có thể khắc phục điều này bằng cách cung cấp chức năng so sánh Thí dụconst point = [40, 100, 1, 5, 25, 10]; Sử dụng thủ thuật tương tự để sắp xếp một mảng giảm dần Thí dụconst point = [40, 100, 1, 5, 25, 10]; Chức năng So sánhMục đích của hàm so sánh là xác định thứ tự sắp xếp thay thế Hàm so sánh sẽ trả về giá trị âm, 0 hoặc dương, tùy thuộc vào các đối số hàm(a, b){return a - b} Khi hàm Nếu kết quả là âm, thì Nếu kết quả là dương, Nếu kết quả là 0, không có thay đổi nào được thực hiện với thứ tự sắp xếp của hai giá trị Thí dụ Hàm so sánh so sánh tất cả các giá trị trong mảng, hai giá trị tại một thời điểm Khi so sánh 40 và 100, phương thức Hàm tính toán 40 - 100 Bạn có thể sử dụng đoạn mã này để thử nghiệm sắp xếp theo thứ tự số và bảng chữ cái Sắp xếp theo bảng chữ cái Sắp xếp một mảng theo thứ tự ngẫu nhiênThí dụconst point = [40, 100, 1, 5, 25, 10]; Tự mình thử » Phương pháp Fisher YatesVí dụ trên, mảng. sắp xếp (), không chính xác. Nó sẽ ưu tiên một số con số hơn những con số khác Phương pháp chính xác phổ biến nhất, được gọi là Fisher Yates shuffle, và được giới thiệu trong khoa học dữ liệu vào đầu năm 1938 Trong JavaScript, phương thức này có thể được dịch sang cái này Thí dụconst điểm = [40, 100, 1, 5, 25, 10]; for (hãy i = điểm. chiều dài -1; . tầng (Toán. random() * (i+1)); Tự mình thử » Tìm giá trị mảng cao nhất (hoặc thấp nhất)Không có chức năng tích hợp để tìm giá trị tối đa hoặc tối thiểu trong một mảng Tuy nhiên, sau khi bạn đã sắp xếp một mảng, bạn có thể sử dụng chỉ mục để lấy giá trị cao nhất và thấp nhất Sắp xếp tăng dần Thí dụconst point = [40, 100, 1, 5, 25, 10]; Sắp xếp giảm dần Thí dụconst point = [40, 100, 1, 5, 25, 10]; Sắp xếp toàn bộ mảng là một phương pháp rất kém hiệu quả nếu bạn chỉ muốn tìm giá trị cao nhất (hoặc thấp nhất) Sử dụng toán học. max() trên MảngBạn có thể sử dụng
Sử dụng toán học. min() trên MảngBạn có thể sử dụng
Các phương thức JavaScript tối thiểu/tối đa của tôiGiải pháp nhanh nhất là sử dụng phương pháp "nhà làm" Hàm này lặp qua một mảng so sánh từng giá trị với giá trị cao nhất được tìm thấy Ví dụ (Tìm Max)function myArrayMax(arr) { Tự mình thử » Hàm này lặp qua một mảng so sánh từng giá trị với giá trị thấp nhất được tìm thấy Ví dụ (Tìm Min)function myArrayMin(arr) { Tự mình thử » Sắp xếp mảng đối tượngMảng JavaScript thường chứa các đối tượng Thí dụconst xe ô tô = [ Ngay cả khi các đối tượng có các thuộc tính của các kiểu dữ liệu khác nhau, phương thức Bạn có thể sắp xếp một mảng các mảng trong JavaScript không?Để sắp xếp mảng các mảng, bạn cần chỉ định dựa trên phần tử nào bạn muốn sắp xếp chúng . Ở đây chúng tôi so sánh các mảng theo các phần tử thứ hai của chúng. Sau đó, hàm sort() lặp qua mảng các mảng và sắp xếp nó dựa trên độ lớn của các phần tử thứ hai.
Làm thế nào bạn sẽ nhận được phần tử thứ hai của mảng?Để lấy phần tử thứ hai đến phần tử cuối cùng trong một mảng, sử dụng ký hiệu ngoặc để truy cập mảng tại mảng chỉ mục. độ dài - 2 , e. g. mảng [mảng. chiều dài - 2]. Phần tử cuối cùng trong mảng có chỉ số của mảng.
Sắp xếp có làm thay đổi mảng JavaScript không?Phương thức sort() trả về một tham chiếu đến mảng ban đầu, vì vậy việc thay đổi mảng được trả về cũng sẽ làm thay đổi mảng ban đầu . |