Viết câu lệnh điều kiện JavaScript để sắp xếp 4 số a b c d và in kết quả
Mảng là tập hợp có thứ tự các phần tử. Trong JavaScript, một mảng có thể được tạo bằng cách sử dụng ký hiệu đối tượng chính thức hoặc có thể khởi tạo mảng bằng ký hiệu chữ, như được minh họa trong đoạn mã sau Show
var arrObject = new Array("val1", "val2"); // array as object var arrLiteral = ["val1", "val2"]; // array literal Đối với nhà phát triển, không có sự khác biệt. bạn có thể gọi một phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 trên cả nghĩa đen và đối tượng. Tuy nhiên, đối với công cụ JavaScript, một mảng chữ phải được diễn giải lại mỗi khi nó được truy cập, đặc biệt là khi được sử dụng trong lệnh gọi hàm. Tuy nhiên, về mặt tích cực, các ký tự mảng có thể thay thế nhu cầu về các biến tạm thời, đặc biệt là khi gửi các giá trị tới một hàm. Một đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 mới được tạo bằng cách sử dụng toán tử var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean5, như sau var arrObject = new Array(); Bạn cũng có thể tạo một mảng mới có một số giá trị var arrObject = new Array("val1","val2"); Bạn có thể tạo một mảng chữ bằng cách sử dụng dấu ngoặc vuông để giữ các giá trị của mảng. Chẳng hạn, bạn có thể định nghĩa một mảng bằng chữ và gán nó cho một biến var arrLiteral = ["val1","val2","val3"]; Bạn cũng có thể tạo và sử dụng một mảng chữ trong một lệnh gọi hàm hoặc phương thức someFunction("param1", ["val1","val2"]); Tuy nhiên, xin lưu ý rằng khi bạn truyền một biến chứa một mảng ký tự cho một hàm, nó sẽ được truyền theo tham chiếu—giống như truyền một biến chứa đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3. Các thay đổi đối với biến trong hàm được phản ánh bên ngoài hàm function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val2 Một mảng, dù là ký tự hay đối tượng, có thể chứa các giá trị của các kiểu dữ liệu khác nhau var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean Bạn có thể in ra một mảng; alert(arrLiteral); // prints out val1,34,true,val2,18,false Trong ví dụ này, công cụ JavaScript thực hiện chuyển đổi mảng thành chuỗi cho cả mảng ký tự và đối tượng mảng được chứa dưới dạng một phần tử trong mảng ký tự Các phần tử của mảng có thể được truy cập trực tiếp bằng cách sử dụng các dấu ngoặc vuông chứa chỉ số của chúng (vị trí trong mảng). Ngoài ra, các phần tử mảng có thể được đặt bằng cách sử dụng cùng một chỉ mục, phần tử này sẽ tự động tạo phần tử mảng nếu nó không tồn tại var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat Mảng trong JavaScript dựa trên số không, có nghĩa là chỉ số phần tử đầu tiên bằng 0 và phần tử cuối cùng bằng độ dài mảng, trừ 1 var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig Không phải tất cả các phần tử mảng phải được xác định khi tạo. Chẳng hạn, nếu bạn tạo một mảng bằng chữ, bạn có thể sử dụng dấu phẩy để phân cách các phần tử mảng chưa tồn tại var arrObject = new Array();0 Trong mã này, phần tử mảng thứ hai hiện tại là var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean7. Tuy nhiên, bạn không thể sử dụng dấu phẩy trống để thêm phần tử mảng không xác định vào cuối mảng. JavaScript sẽ bỏ qua nó Để tạo một mảng gồm nhiều phần tử không xác định, bạn có thể cung cấp độ dài mảng khi tạo mảng var arrObject = new Array();1 Khi bạn đã tạo một mảng, sử dụng đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 hoặc ký hiệu bằng chữ, bạn có thể truy cập các phần tử mảng trong một vòng lặp hoặc sử dụng bất kỳ phương thức mảng nào 5. 1. Â Lặp qua một mảngBạn muốn dễ dàng truy cập tất cả các phần tử của một mảng Cách tiếp cận phổ biến nhất để truy cập một mảng là sử dụng vòng lặp var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean9 var arrObject = new Array();2 Một vòng lặp var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean9 có thể được sử dụng để truy cập mọi phần tử của một mảng. Mảng bắt đầu từ 0 và thuộc tính mảng alert(arrLiteral); // prints out val1,34,true,val2,18,false1 được sử dụng để đặt kết thúc vòng lặp Tuy nhiên, đôi khi bạn không muốn truy cập mọi phần tử của mảng. Chẳng hạn, bạn có thể muốn duyệt qua một mảng cho đến khi tìm thấy một phần tử cụ thể hoặc bất kỳ phần tử nào đáp ứng (hoặc không đáp ứng) một tiêu chí nhất định. Trong những trường hợp này, bạn sẽ muốn sử dụng vòng lặp alert(arrLiteral); // prints out val1,34,true,val2,18,false2 và kiểm tra các phần tử mảng var arrObject = new Array();3 Lưu ý rằng bộ đếm chỉ mục, alert(arrLiteral); // prints out val1,34,true,val2,18,false3, được tăng lên khi nó được sử dụng để truy cập một phần tử mảng. Việc sử dụng alert(arrLiteral); // prints out val1,34,true,val2,18,false4 có nghĩa là giá trị hiện có của alert(arrLiteral); // prints out val1,34,true,val2,18,false3 được truy cập trước, sau đó biến được tăng lên 5. 2. Â Tạo một mảng nhiều chiềuBạn muốn tạo mảng nhiều chiều (mảng của mảng) Tạo một mảng trong đó mỗi phần tử cũng là một mảng. Ví dụ: để tạo một mảng có ba phần tử, mỗi phần tử cũng là một mảng gồm ba phần tử lần lượt chứa chuỗi, số và ký tự mảng, hãy sử dụng đoạn mã trong Ví dụÂ 5-1. Â Tạo mảng nhiều chiều var arrObject = new Array();4 Mảng đa chiều trong JavaScript được quản lý bằng cách tạo một mảng mới dưới dạng một phần tử trong một mảng hiện có. Mảng mới có thể được tạo dưới dạng phần tử var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 hoặc dưới dạng ký tự mảng Trong , một mảng, alert(arrLiteral); // prints out val1,34,true,val2,18,false7, được tạo như một đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 với ba phần tử. Mỗi phần tử trong số ba phần tử đó cũng được tạo dưới dạng đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 có ba phần tử. Sau đó, dữ liệu mảng được thiết lập, với phần tử mảng đầu tiên chứa các ký tự chuỗi, phần thứ hai chứa các ký tự số và mảng ký tự thứ ba—bản thân chúng chứa hai thành viên mảng, mỗi phần tử có một ký tự chuỗi Để truy cập các phần tử của mảng, hãy sử dụng ký hiệu dấu ngoặc vuông, với mỗi bộ dấu ngoặc được sử dụng để giải quyết từng cấp độ của mảng. Trong đoạn mã sau, nội dung mảng được in ra qua cửa sổ cảnh báo, sau khi được chuyển đổi thành chuỗi trước, nếu cần var arrObject = new Array();5 Mảng đa chiều thường được sử dụng để giữ dữ liệu từ cấu trúc bảng, nhưng cách duy trì cấu trúc đó tùy thuộc vào nhà phát triển. Chẳng hạn, nhà phát triển có thể hỗ trợ cấu trúc mảng trong đó chỉ mục bên ngoài phản ánh các cột và bên trong phản ánh các hàng. Ví dụ, hiển thị một bảng ba hàng, năm cột đơn giản chứa một bộ số Bảng 5-1. Â Bảng đơn giản có năm cột và ba hàng cùng dữ liệu mẫu 45. 89 4 34 9998. 99 56 3 23 99 43 2 1 1 0 43 67 Để tạo cái này trong JavaScript bằng mảng nhiều chiều, hãy sử dụng đoạn mã sau var arrObject = new Array();6 Tất nhiên, điều này không tính đến tiêu đề cột và hàng. Để thêm vào các tiêu đề, chỉ cần coi chúng là dữ liệu mảng, đảm bảo kết hợp chúng vào vị trí thích hợp trong mảng để phản ánh cấu trúc bảng Ghi chúTrong môi trường nhiều nhà phát triển, điều cần thiết là phải có sự đồng thuận giữa các nhà phát triển về việc liệu dữ liệu cấu trúc bảng được lưu trữ theo cột hay theo hàng. 5. 3. Â Tạo Chuỗi từ MảngBạn muốn tạo một chuỗi đơn từ một mảng Sử dụng phương thức var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat1 tích hợp sẵn của đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 để nối các phần tử mảng thành một chuỗi var arrObject = new Array();7 Phương thức var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat2 nhận một tham số tùy chọn, dấu phân cách được sử dụng để phân tách các chuỗi khi nối—trong trường hợp này là dấu gạch ngang ( var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat3). Nó trả về một chuỗi với tất cả các phần tử mảng được nối với nhau. Nếu mảng chứa bất kỳ thứ gì khác ngoài chuỗi, các giá trị được chuyển đổi thành chuỗi tương đương var arrObject = new Array();8 Nếu tham số dấu phân cách không được cung cấp, dấu phẩy sẽ được chèn giữa các giá trị phần tử mảng theo mặc định var arrObject = new Array();9 Bạn muốn sắp xếp một mảng Sử dụng phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 của đối tượng var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat5 var arrObject = new Array("val1","val2");0 Phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 của đối tượng var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat5 sắp xếp các phần tử mảng theo thứ tự bảng chữ cái nếu không có tham số chức năng so sánh tùy chọn nào được cung cấp. Để thuận tiện cho việc sắp xếp, tất cả các loại dữ liệu được chuyển đổi thành chuỗi tương đương trước khi sắp xếp var arrObject = new Array("val1","val2");1 Mặc dù các thành viên mảng trong ví dụ này là các số nhưng chúng được sắp xếp theo thứ tự từ điển (từ điển), không phải theo số. Để thực hiện sắp xếp số thực tế, hãy sử dụng chức năng sắp xếp tùy chỉnh var arrObject = new Array("val1","val2");2 Hàm trừ giá trị tham số thứ hai khỏi giá trị tham số thứ nhất và nếu giá trị thứ nhất nhỏ hơn giá trị thứ hai, giá trị âm sẽ được trả về; . Nếu giá trị trả về nhỏ hơn 0, chỉ số sắp xếp cho tham số thứ hai được đặt cao hơn tham số đầu tiên. Nếu giá trị lớn hơn 0, chỉ số sắp xếp cho tham số đầu tiên được đặt cao hơn chỉ số khác. Nếu giá trị chính xác bằng 0, chỉ số sắp xếp cho hai giá trị không thay đổi Nếu các phần tử mảng chứa các chuỗi có thể được chuyển đổi thành số, thì hàm sắp xếp var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat8 vẫn hoạt động vì việc chuyển đổi số là tự động var arrObject = new Array("val1","val2");3 Phương thức var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat5 sắp xếp các phần tử theo thứ tự tăng dần. Nếu bạn muốn thực hiện sắp xếp đảo ngược, hãy sử dụng phương thức var arrObject = new Array(); arrObject[0] = "cat"; // array now has one element alert(arrObject[0]); // prints cat5 để sắp xếp các phần tử, sau đó sử dụng phương thức var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig1 để đảo ngược thứ tự thành viên mảng var arrObject = new Array("val1","val2");4 5. 5. Â Lưu trữ và truy cập các giá trị theo thứ tựBạn muốn lưu trữ các giá trị theo cách mà bạn có thể truy cập các giá trị theo thứ tự chúng được lưu trữ Để lưu trữ và truy cập các giá trị theo thứ tự nhận được, hãy tạo hàng đợi FIFO (vào trước, ra trước). Sử dụng phương thức đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig3 của JavaScript để thêm các mục vào hàng đợi và var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig4 để truy xuất var arrObject = new Array("val1","val2");5 Hàng đợi là một mảng các phần tử được thêm vào từng phần tử một và được truy xuất theo thứ tự nhập trước xuất trước (FIFO). Hãy nghĩ về một dòng tại ngân hàng. mọi người đi đến cuối cùng khi họ đến ngân hàng và giao dịch viên giúp đỡ những người ở phía trước hàng, những người đã ở đó lâu nhất Bạn có thể mô phỏng hành vi này bằng cách sử dụng các biến bộ đếm để giữ chỉ mục của mục cuối cùng được thêm vào (phần cuối) và chỉ mục của mục cuối cùng được lấy ra (từ phía trước), nhưng may mắn thay, đối tượng JavaScript var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 cung cấp các phương thức xử lý thông tin này cho Phương thức var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig6 tạo một phần tử mảng mới và thêm nó vào cuối mảng var arrObject = new Array("val1","val2");6 Số lượng phần tử mảng tăng dần với mỗi phần tử được đẩy Phương thức var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig7 trích xuất phần tử mảng từ phía trước của mảng, loại bỏ nó khỏi mảng và trả về phần tử var arrObject = new Array("val1","val2");7 Số lượng phần tử mảng giảm đi một với mỗi phần tử được dịch chuyển, vì var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig4 cũng sửa đổi mảng ngoài việc trả về mục 5. 6. Â Lưu trữ và truy cập các giá trị theo thứ tự đảo ngượcBạn muốn lưu trữ các giá trị theo cách mà bạn có thể truy cập các giá trị theo thứ tự ngược lại. truy cập giá trị được lưu trữ gần đây nhất trước, sau đó là ngăn xếp LIFO (vào sau, ra trước) Để truy cập các giá trị được lưu trữ theo thứ tự ngược lại (mục cuối cùng được thêm vào được truy cập trước), hãy tạo ngăn xếp LIFO (vào sau, ra trước). Sử dụng phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 của đối tượng var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig3 của JavaScript để thêm các mục vào ngăn xếp và phương thức var arrObject = new Array();01 để truy xuất var arrObject = new Array("val1","val2");8 Ngăn xếp là một mảng các phần tử, với mỗi phần tử mới được thêm vào đầu ngăn xếp và được truy xuất theo thứ tự nhập sau xuất trước (LIFO). Hãy nghĩ về một chồng các món ăn. bạn thêm các đĩa lên trên cùng khi chúng được rửa sạch và lấy chúng từ trên cùng khi cần. Bạn có thể sử dụng một biến chứa số nguyên theo dõi phần cuối của mảng sau mỗi lần cộng và truy xuất, nhưng JavaScript cung cấp chức năng mà chúng ta cần Phương thức var farmAnimals = new Array("cat","dog","horse","pig"); alert(farmAnimals[0]); // print cat alert(farmAnimals[3]); // print pig6 tạo một phần tử mảng mới và thêm nó vào cuối mảng var arrObject = new Array("val1","val2");6 Số lượng phần tử mảng tăng dần với mỗi phần tử được đẩy Phương thức var arrObject = new Array();03 trích xuất phần tử mảng từ cuối mảng, loại bỏ nó khỏi mảng và trả về phần tử var arrLiteral = ["val1","val2","val3"];0 Số lượng phần tử mảng giảm đi một với mỗi phần tử được bật lên, vì var arrObject = new Array();01 sửa đổi mảng 5. 7. Â Tạo một mảng mới dưới dạng một tập hợp con của một mảng hiện cóBạn muốn tạo một mảng mới từ một đoạn của mảng hiện có. Nếu các phần tử mảng là các đối tượng, bạn muốn giữ cả hai mảng đồng bộ Sử dụng phương pháp đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 var arrObject = new Array();06 để tạo một mảng mới dựa trên các phần tử trong một phạm vi nhất định var arrLiteral = ["val1","val2","val3"];1 Phương thức var arrObject = new Array();07 là một cách đơn giản để xây dựng một mảng mới từ một chuỗi các phần tử liên tiếp trong một mảng khác. Các tham số là chỉ số bắt đầu và kết thúc của dãy phần tử cần sao chép. Giá trị âm cho một trong hai chỉ mục cho biết rằng var arrObject = new Array();06 sẽ hoạt động từ cuối mảng Nếu các phần tử được sao chép là các giá trị bằng chữ, chẳng hạn như chuỗi, số và Booleans, thì chúng được sao chép theo giá trị—việc thay đổi giá trị trong mảng cũ không ảnh hưởng đến các giá trị tương tự trong mảng mới và ngược lại Tuy nhiên, khi các đối tượng được sao chép, chúng được sao chép theo tham chiếu, cho dù chúng được sao chép qua var arrObject = new Array();06 hay bằng cách gán biến trực tiếp var arrLiteral = ["val1","val2","val3"];2 Đoạn mã sau minh họa việc đồng bộ hóa đối tượng khi được sử dụng với lát cắt. Một phần của một mảng được sử dụng để tạo một mảng mới với var arrObject = new Array();06. Các phần tử trong mảng đầu tiên là các đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3. Trong mã, khi giá trị của một trong các đối tượng trong mảng đầu tiên bị thay đổi, thay đổi đó sẽ được phản ánh trong mảng mới. Ngược lại, khi một giá trị được thay đổi trong mảng mới, sự thay đổi được phản ánh trong mảng ban đầu var arrLiteral = ["val1","val2","val3"];3 Một cách sử dụng hữu ích khác cho var arrObject = new Array();06 là chuyển đổi thuộc tính đối số của hàm thành một mảng phù hợp var arrLiteral = ["val1","val2","val3"];4 Sử dụng var arrObject = new Array();06 để tạo một tập hợp con của một mảng là một cách sao chép nhanh chóng một tập hợp con của một mảng và, nếu các giá trị là các đối tượng, hãy đảm bảo cả hai mảng đều đồng bộ. Tuy nhiên, hãy lưu ý rằng IE8 không hỗ trợ var arrObject = new Array();06 Có thể bạn quan tâm5. 8. Â Tìm kiếm trong một mảngBạn muốn tìm kiếm một mảng cho một giá trị cụ thể và lấy chỉ số phần tử mảng nếu tìm thấy Sử dụng các phương thức đối tượng mới (ECMAScript 5) var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 var arrObject = new Array();16 và var arrObject = new Array();17 var arrLiteral = ["val1","val2","val3"];5 Mặc dù hỗ trợ cho cả var arrObject = new Array();16 và var arrObject = new Array();17 đã tồn tại trong các trình duyệt được một thời gian, nhưng nó chỉ được chính thức hóa khi phát hành ECMAScript 5. Cả hai phương pháp đều lấy một giá trị tìm kiếm, sau đó được so sánh với mọi phần tử trong mảng. Nếu giá trị được tìm thấy, cả hai đều trả về một chỉ mục đại diện cho phần tử mảng. Nếu không tìm thấy giá trị, â1 được trả về. Phương thức var arrObject = new Array();16 trả về cái đầu tiên được tìm thấy, phương thức var arrObject = new Array();17 trả về cái cuối cùng được tìm thấy var arrLiteral = ["val1","val2","val3"];6 Cả hai phương pháp đều có thể lấy chỉ mục bắt đầu, thiết lập vị trí bắt đầu tìm kiếm var arrLiteral = ["val1","val2","val3"];7 Hiện tại, tất cả các trình duyệt mục tiêu của cuốn sách đều hỗ trợ var arrObject = new Array();16 và var arrObject = new Array();17, ngoại trừ IE8 Như đã đề cập, không phải tất cả các trình duyệt đều hỗ trợ var arrObject = new Array();24 và var arrObject = new Array();17. Phương pháp đa trình duyệt để triển khai chức năng tương tự trong các trình duyệt này được cung cấp trong tài liệu Mozilla, tại https. // nhà phát triển. mozilla. org/en/Core_JavaScript_1. 5_Reference/Global_Objects/Array/indexOf. Vì IE8 không hỗ trợ var arrObject = new Array();16, đây là giải pháp thay thế của Mozilla cho chức năng var arrLiteral = ["val1","val2","val3"];8 5. 9. Â Làm phẳng mảng nhiều chiềuBạn muốn làm phẳng một mảng nhiều chiều thành một mảng một chiều Sử dụng phương thức đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 var arrObject = new Array();28 để hợp nhất các kích thước mảng thành một mảng một chiều var arrLiteral = ["val1","val2","val3"];9 Đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 Phương thức var arrObject = new Array();28 lấy một hoặc nhiều mảng và nối các phần tử mảng vào cuối nội dung của mảng cha mà phương thức được gọi trên đó. Mảng đã hợp nhất sau đó được trả về dưới dạng một mảng mới Một cách sử dụng cho loại chức năng này là trả về một mảng một chiều được tạo thành từ các phần tử từ một mảng nhiều chiều, như thể hiện trong giải pháp 5. 10. Â Tìm kiếm và loại bỏ hoặc thay thế các phần tử mảngBạn muốn tìm các lần xuất hiện của một giá trị đã cho trong một mảng và loại bỏ phần tử hoặc thay thế bằng một giá trị khác Sử dụng các phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 var arrObject = new Array();16 và var arrObject = new Array();33 để tìm và loại bỏ/thay thế các phần tử mảng someFunction("param1", ["val1","val2"]);0 Phương thức var arrObject = new Array();33 có ba tham số. Tham số đầu tiên là bắt buộc; . Hai tham số còn lại là tùy chọn. số lượng phần tử cần loại bỏ và phần tử thay thế. Nếu chỉ số âm, các phần tử sẽ được ghép từ cuối chứ không phải từ đầu mảng someFunction("param1", ["val1","val2"]);1 Nếu không cung cấp số lượng phần tử để nối, tất cả các phần tử từ chỉ mục đến cuối sẽ bị xóa someFunction("param1", ["val1","val2"]);2 Tham số cuối cùng, giá trị được thay thế, có thể là một tập hợp các giá trị thay thế, được phân tách bằng dấu phẩy someFunction("param1", ["val1","val2"]);3 Loại bỏ hoặc thay thế một phần tử rất tiện lợi, nhưng có thể loại bỏ hoặc thay thế tất cả các phiên bản của một phần tử cụ thể thậm chí còn tiện lợi hơn. Trong , một mảng được tạo với một số phần tử, bao gồm nhiều phiên bản của một giá trị cụ thể. Phương thức var arrObject = new Array();33 sau đó được sử dụng trong một vòng lặp để thay thế tất cả các phần tử có một giá trị này bằng các phần tử có giá trị mới. Phương thức var arrObject = new Array();33 được sử dụng lại, trong một vòng lặp riêng biệt, để loại bỏ các phần tử mới được ghép Ví dụÂ 5-2. Â Sử dụng vòng lặp và mối nối để thay thế và xóa các phần tử someFunction("param1", ["val1","val2"]);4 Ví dụ này hoạt động với tất cả các trình duyệt mục tiêu của cuốn sách này ngoại trừ IE8, trình duyệt này hiện không hỗ trợ var arrObject = new Array();16 hoặc var arrObject = new Array();33 5. 11. Â Áp dụng hàm đối với từng phần tử mảngBạn muốn sử dụng một hàm để kiểm tra một giá trị mảng và thay thế nó nếu nó phù hợp với một tiêu chí nhất định Sử dụng đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 mới của ECMAScript 5 var arrObject = new Array();40 để đính kèm hàm gọi lại cho từng phần tử mảng someFunction("param1", ["val1","val2"]);5 Trong phần trước, chúng ta đã sử dụng vòng lặp alert(arrLiteral); // prints out val1,34,true,val2,18,false2 để duyệt qua một mảng nhằm tìm và thay thế một giá trị, nhưng việc sử dụng phương thức var arrObject = new Array();40 sẽ hữu ích hơn bao nhiêu? Phương thức var arrObject = new Array();40 nhận một tham số, hàm. Bản thân hàm có ba tham số. phần tử mảng, chỉ số của phần tử và mảng. Cả ba đều được sử dụng trong chức năng, var arrObject = new Array();44 Đầu tiên, giá trị của phần tử được kiểm tra xem nó có khớp với một chuỗi đã cho hay không, var arrObject = new Array();45. Nếu khớp, chỉ mục của phần tử mảng được sử dụng để sửa đổi giá trị của phần tử mảng bằng chuỗi thay thế, var arrObject = new Array();46 Ghi chúKhông trả lại giá trị từ hàm được truyền cho phương thức var arrObject = new Array();40, vì giá trị đó sẽ bị loại bỏ Chrome, Firefox, Opera và Safari hỗ trợ var arrObject = new Array();40, nhưng IE8 thì không Khái niệm hàm gọi lại được trình bày chi tiết hơn trong Chương 6 Hầu hết các trình duyệt hiện đại đều hỗ trợ var arrObject = new Array();40. Tuy nhiên, đối với những hành vi không như vậy, bạn có thể mô phỏng hành vi của var arrObject = new Array();40 bằng cách sử dụng thuộc tính var arrObject = new Array();51. Mozilla cung cấp mô tả về cách mô phỏng var arrObject = new Array();40 tại https. // nhà phát triển. mozilla. org/en/Core_JavaScript_1. 5_Reference/Global_Objects/Array/forEach. Để hoàn thiện, tôi đã sao chép mã bên dưới. Để sử dụng, hãy thêm mã vào hàm thư viện và đảm bảo rằng mã đó được xử lý trước khi cần đến phương thức var arrObject = new Array();40 someFunction("param1", ["val1","val2"]);6 5. 12. Â Áp dụng hàm cho mọi phần tử trong một mảng và trả về một mảng mớiBạn muốn chuyển đổi một mảng số thập phân thành một mảng mới với số thập lục phân tương đương của chúng Sử dụng phương thức đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 var arrObject = new Array();55 để tạo một mảng mới bao gồm các phần tử từ mảng cũ đã được sửa đổi thông qua hàm gọi lại được truyền cho phương thức var arrObject = new Array();55 someFunction("param1", ["val1","val2"]);7 Giống như phương thức var arrObject = new Array();40 trong , phương thức var arrObject = new Array();55 trong ECMAScript 5 cho phép chúng tôi đính kèm hàm gọi lại được áp dụng cho từng phần tử mảng. Tuy nhiên, không giống như var arrObject = new Array();40, phương thức var arrObject = new Array();55 tạo ra một mảng mới thay vì sửa đổi mảng ban đầu. Do đó, bạn sẽ không trả lại giá trị khi sử dụng var arrObject = new Array();40, nhưng bạn phải trả lại giá trị khi sử dụng var arrObject = new Array();55 Hàm được truyền cho phương thức bản đồ có ba tham số. phần tử mảng hiện tại, chỉ số cho phần tử mảng và mảng. Các phương pháp var arrObject = new Array();40 và var arrObject = new Array();55 hiện không được IE8 hỗ trợ Hầu hết các trình duyệt hiện đại đều hỗ trợ phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 đối tượng var arrObject = new Array();55, nhưng để đảm bảo rằng chức năng này hiện diện, bạn có thể sử dụng thuộc tính var arrObject = new Array();51 để mô phỏng hành vi của phương thức. Xem cách thực hiện tại trang web Mozilla Để dễ hiểu, tôi đã bao gồm mã cho cách giải quyết bên dưới. Để sử dụng, hãy đưa mã vào hàm thư viện được xử lý trước khi cần phương thức var arrObject = new Array();55 someFunction("param1", ["val1","val2"]);8 5. 13. Â Tạo một mảng đã lọcBạn muốn lọc các giá trị phần tử trong một mảng và gán kết quả cho một mảng mới Sử dụng phương pháp đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 var arrObject = new Array();70 someFunction("param1", ["val1","val2"]);9 Phương thức var arrObject = new Array();70 là một phần bổ sung khác của ECMAScript 5, như var arrObject = new Array();40 và var arrObject = new Array();55, tương ứng được trình bày trong Công thức và . Giống như chúng, phương thức này là cách áp dụng hàm gọi lại cho mọi phần tử mảng Hàm được truyền dưới dạng tham số cho phương thức var arrObject = new Array();70 trả về giá trị Boolean, đúng hoặc sai, dựa trên một số thử nghiệm đối với các phần tử mảng. Giá trị trả về này xác định nếu phần tử mảng được thêm vào một mảng mới. nó được thêm vào nếu hàm trả về true; . Trong giải pháp, chuỗi ký tự â var arrObject = new Array();46â được lọc khỏi mảng ban đầu khi tạo mảng mới Hàm có ba tham số. phần tử mảng, chỉ số cho phần tử và chính mảng đó. Phương thức var arrObject = new Array();70 không được IE8 hỗ trợ Hỗ trợ cho var arrObject = new Array();70 khá rộng, nhưng để đảm bảo quyền truy cập vào chức năng, có một cách mô phỏng phương thức lọc bằng cách sử dụng var arrObject = new Array();51. Mozilla nêu chi tiết cách tiếp cận tại https. // nhà phát triển. mozilla. org/en/Core_JavaScript_1. 5_Reference/Global_Objects/Array/filter, nhưng tôi đã sao chép kỹ thuật bên dưới. Để sử dụng, hãy đưa hàm vào mã của bạn và chạy hàm trước khi bạn cần truy cập phương thức var arrObject = new Array();70 function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val20 5. 14. Â Xác thực nội dung mảngBạn muốn đảm bảo rằng một mảng đáp ứng các tiêu chí nhất định Sử dụng phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 của đối tượng var arrObject = new Array();81 để kiểm tra xem mọi phần tử có vượt qua một tiêu chí nhất định không. Chẳng hạn, đoạn mã sau kiểm tra để đảm bảo rằng mọi phần tử trong mảng là một ký tự chữ và số function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val21 Hoặc sử dụng phương pháp var arrObject = new Array();83 của đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 để đảm bảo rằng ít nhất một số phần tử vượt qua tiêu chí. Ví dụ, đoạn mã sau kiểm tra để đảm bảo rằng ít nhất một số phần tử mảng là chuỗi chữ và số function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val22 Các phương thức đối tượng var arrObject = new Array();81 và var arrObject = new Array();85 là phương thức cuối cùng trong số các phương thức var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 của ECMAScript 5 mà tôi sẽ trình bày trong cuốn sách này. Không giống như các phương thức của hàm gọi lại var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 mà tôi đã trình bày trong các công thức trước đó trong chương này, các hàm var arrObject = new Array();81 và var arrObject = new Array();83 không hoạt động với tất cả các phần tử mảng; Giải pháp chứng minh rằng cùng một chức năng gọi lại có thể được sử dụng cho cả phương pháp đối tượng var arrObject = new Array();81 và var arrObject = new Array();85. Điểm khác biệt là khi sử dụng phương thức var arrObject = new Array();81, ngay khi hàm trả về giá trị false, quá trình xử lý kết thúc và phương thức trả về giá trị false. Tuy nhiên, phương thức var arrObject = new Array();83 sẽ tiếp tục kiểm tra mọi phần tử mảng cho đến khi hàm gọi lại trả về true. Tại thời điểm đó, không có phần tử nào khác được xác thực và phương thức trả về true. Tuy nhiên, nếu hàm gọi lại kiểm tra tất cả các phần tử và không trả về true tại bất kỳ thời điểm nào, thì phương thức var arrObject = new Array();83 sẽ trả về false Sử dụng phương pháp nào tùy thuộc vào nhu cầu của bạn. Nếu tất cả các phần tử mảng phải đáp ứng các tiêu chí nhất định, thì hãy sử dụng var arrObject = new Array();81; Hàm gọi lại có ba tham số. phần tử, chỉ mục cho phần tử và mảng. Cả phương pháp var arrObject = new Array();83 hoặc var arrObject = new Array();81 đều không được IE8 hỗ trợ, nhưng chúng được các trình duyệt mục tiêu khác hỗ trợ cho cuốn sách này Hầu hết các trình duyệt hiện đại đều hỗ trợ var arrObject = new Array();81 và var arrObject = new Array();83, nhưng đối với những trình duyệt không hỗ trợ (chẳng hạn như hầu hết các phiên bản của Internet Explorer), bạn có thể mô phỏng hành vi bằng cách sử dụng var arrObject = new Array();51. Mozilla trình bày cách thực hiện việc này tại https. // nhà phát triển. mozilla. org/en/Core_JavaScript_1. 5_Reference/Global_Objects/Array/some và https. // nhà phát triển. mozilla. org/en/Core_JavaScript_1. 5_Reference/Global_Objects/Array/mọi Để toàn diện, tôi cũng đã bao gồm chức năng bên dưới. Để sử dụng, hãy đảm bảo rằng tập lệnh được cung cấp được xử lý trước khi cần đến các phương thức Đây là cách mô phỏng var arrObject = new Array();83 function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val23 Đây là cách mô phỏng var arrObject = new Array();81 function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val24 5. 15. Â Sử dụng một mảng liên kết để lưu trữ tên và giá trị phần tử biểu mẫuBạn muốn lưu trữ các tên và giá trị thành phần biểu mẫu, cho các mục đích xác thực sau này Sử dụng một mảng kết hợp để lưu trữ các phần tử, sử dụng các định danh phần tử làm chỉ mục mảng function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val25 Lặp lại mảng bằng cách sử dụng câu lệnh var arrObject = new Array("val1","val2");04 function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val26 Hầu hết các mảng JavaScript sử dụng chỉ mục số, chẳng hạn như sau function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val27 Tuy nhiên, bạn có thể tạo một mảng kết hợp trong JavaScript, trong đó chỉ mục mảng có thể là một chuỗi đại diện cho một từ khóa, ánh xạ chuỗi đó tới một giá trị nhất định. Trong giải pháp, chỉ mục mảng là mã định danh được cung cấp cho phần tử mảng và giá trị mảng thực tế là giá trị phần tử biểu mẫu Bạn có thể tạo một mảng kết hợp, nhưng bạn không sử dụng đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 để làm như vậy. Việc sử dụng đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 là rủi ro và không được tích cực khuyến khích—đặc biệt nếu bạn đang sử dụng một trong các thư viện tích hợp sử dụng thuộc tính var arrObject = new Array("val1","val2");07 để mở rộng đối tượng, như mọi người đã phát hiện ra khi Nguyên mẫu phổ biến. thư viện js được phát hành lần đầu cách đây vài năm Nguyên mẫu trước đó. js đã giả định rằng hầu hết việc sử dụng mảng trong JavaScript đều dựa trên chỉ mục số, giống như hầu hết các ví dụ trước đó trong chương này. Thư viện đã mở rộng chức năng của đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 thông qua var arrObject = new Array();51, dựa trên giả định này. Nhưng việc mở rộng các đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 theo cách này sẽ phá vỡ chức năng vòng lặp var arrObject = new Array("val1","val2");04 được sử dụng để duyệt qua một mảng kết hợp được tạo từ một đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 Đó không phải là Nguyên mẫu. js đã “phá vỡ” JavaScript. Vòng lặp var arrObject = new Array("val1","val2");04 được dành cho một mục đích. lặp qua thuộc tính của đối tượng, chẳng hạn như có thể lặp qua thuộc tính của đối tượng var arrObject = new Array("val1","val2");14 hoặc thuộc tính đối tượng tùy chỉnh của riêng bạn Khi chúng ta sử dụng một đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 để tạo một mảng kết hợp, những gì chúng ta thực sự đang làm là thêm các thuộc tính mới vào đối tượng mảng, thay vì thêm các phần tử mảng mới. Bạn thực sự có thể tạo một mảng kết hợp với var arrObject = new Array("val1","val2");16 hoặc var arrObject = new Array("val1","val2");14, cũng như một var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3. Lý do là trong JavaScript các đối tượng là các mảng kết hợp. Khi bạn đang thêm một mảng mới, var arrObject = new Array("val1","val2");19 function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val28 những gì bạn đang thực sự làm là thêm một thuộc tính đối tượng mới function chgArray(arr) { arr[0] = "surprise!"; } var newArray = new Array("val1", "val2"); var newLiteral = ["val1","val2"]; chgArray(newArray); chgArray(newLiteral); alert(newArray); // prints surprise!,val2 alert(newLiteral); // prints surprise!,val29 Để chứng minh thêm mảng kết hợp khác với mảng dựa trên số như thế nào, khi bạn sử dụng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 để tạo mảng kết hợp, bạn không thể truy cập mảng âelementsâ theo chỉ mục và thuộc tính độ dài trả về 0 Thay vì sử dụng một đối tượng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 để tạo mảng kết hợp, hãy sử dụng trực tiếp JavaScript var arrObject = new Array("val1","val2");22. Bạn có cùng chức năng chính xác, nhưng tránh xung đột với các thư viện mở rộng đối tượng cơ sở var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean3 bằng cách sử dụng var arrObject = new Array("val1","val2");07 hiển thị một trang web. Tại đây, khi biểu mẫu được gửi, tất cả các phần tử biểu mẫu của kiểu văn bản được truy cập và lưu trữ trong một mảng kết hợp. ID phần tử được sử dụng làm từ khóa mảng và các giá trị được gán cho các phần tử mảng. Sau khi được thu thập, mảng kết hợp được chuyển đến một hàm khác có thể được sử dụng để xác thực các giá trị, nhưng trong trường hợp này chỉ tạo một chuỗi các cặp từ khóa/giá trị, sau đó sẽ được hiển thị Ví dụÂ 5-3. Â Thể hiện mảng kết hợp với các phần tử biểu mẫu var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean0 Trong ví dụ này, lưu ý rằng chỉ mục mảng được hình thành bởi phần tử biểu mẫuâs var arrObject = new Array("val1","val2");25. Khi mảng được duyệt qua, cú pháp vòng lặp var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean9 được sử dụng là var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean1 Cú pháp này truy cập chỉ mục mảng, sau đó được gán cho biến từ khóa có thể được sử dụng để truy cập giá trị mảng var arrObject = new Array("val1", 34, true); // string, number, boolean var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean2 hiển thị ví dụ sau khi các giá trị được nhập vào các trường biểu mẫu và biểu mẫu được gửi Hình 5-1. Â Bản trình diễn của mảng kết hợp và các phần tử biểu mẫu duyệt qua Loại ghép nối từ khóa/giá trị này thường được gọi là bản đồ băm hoặc bảng băm, mặc dù chức năng JavaScript không phải là chức năng bản đồ băm thực sự. Lý do tại sao nó không phải là một bản đồ băm thực sự là vì nó không tính đến thực tế là cùng một từ khóa có thể được sử dụng với nhiều giá trị và phiên bản JavaScript chỉ chấp nhận các chuỗi làm từ khóa Làm cách nào để sắp xếp 3 số trong JavaScript?chức năng sắp xếp (a, b, c) { if(a < b && b < c) { tài liệu. viết (a, b , c); . viết (a, c, b); . ghi(b, a, c);
Làm cách nào để viết nhiều câu lệnh if trong JavaScript?Để thực thi nhiều câu lệnh trong một mệnh đề, hãy sử dụng một câu lệnh khối ( {/*. */ } ) để nhóm các câu lệnh đó . Nói chung, cách tốt nhất là luôn sử dụng các câu lệnh khối, đặc biệt là trong mã liên quan đến các câu lệnh if lồng nhau.
Làm cách nào để in các số theo thứ tự giảm dần trong JavaScript?Tôi đề nghị chia bài tập biến của bạn thành nhiều dòng. Gán mỗi bước trung gian cho một biến và in giá trị của biến. sử dụng bảng điều khiển. nhật ký(). Để biết thêm mẹo gỡ lỗi, hãy xem bài viết blog này. . n. toString(). tách ra(''). sắp xếp(hàm(a,b){return b-a}). tham gia(''); . 1 tháng 4, 2018 lúc 20. 49 Cách thực hành tốt nhất để viết một câu lệnh có điều kiện trong JavaScript là gì?5 mẹo để viết câu điều kiện tốt hơn trong JavaScript . Sử dụng mảng. bao gồm cho nhiều tiêu chí. . Ít làm tổ hơn, trở về sớm. Hãy mở rộng ví dụ trước để bao gồm thêm hai điều kiện. . Sử dụng các tham số chức năng mặc định và hủy cấu trúc. . Ưu tiên Bản đồ / Đối tượng theo nghĩa đen hơn Câu lệnh chuyển đổi. . Sử dụng mảng |