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

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, boolean
3 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, boolean
3 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, boolean
5, 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, boolean
3. 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, boolean
7. 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, boolean
3 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ảng

Bạ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, boolean
9

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, boolean
9 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,false
1 đượ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,false
2 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,false
3, đượ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,false
4 có nghĩa là giá trị hiện có của
alert(arrLiteral); // prints out val1,34,true,val2,18,false
3 đượ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ều

Bạ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, boolean
3 hoặc dưới dạng ký tự mảng

Trong , một mảng,

alert(arrLiteral); // prints out val1,34,true,val2,18,false
7, đượ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, boolean
3 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, boolean
3 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ảng

Bạ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 cat
1 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, boolean
3 để 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 cat
2 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 cat
3). 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, boolean
3 của đối tượng
var arrObject = new Array();

arrObject[0] = "cat"; // array now has one element
alert(arrObject[0]); // prints cat
5

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, boolean
3 của đối tượng
var arrObject = new Array();

arrObject[0] = "cat"; // array now has one element
alert(arrObject[0]); // prints cat
5 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 cat
8 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 cat
5 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 cat
5 để 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 pig
1 để đả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, boolean
3
var farmAnimals = new Array("cat","dog","horse","pig");
alert(farmAnimals[0]); // print cat
alert(farmAnimals[3]); // print pig
3 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 pig
4 để 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, boolean
3 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 pig
6 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 pig
7 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 pig
4 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ược

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ự 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, boolean
3 của đối tượng
var farmAnimals = new Array("cat","dog","horse","pig");
alert(farmAnimals[0]); // print cat
alert(farmAnimals[3]); // print pig
3 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 pig
6 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, boolean
3
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, boolean
3. 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

5. 8.  Tìm kiếm trong một mảng

Bạ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, boolean
3
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ều

Bạ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, boolean
3
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, boolean
3 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ảng

Bạ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, boolean
3
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ảng

Bạ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, boolean
3 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,false
2 để 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ới

Bạ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, boolean
3
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, boolean
3 đố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ọc

Bạ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, boolean
3
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!,val2
0

5. 14.  Xác thực nội dung mảng

Bạ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, boolean
3 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!,val2
1

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, boolean
3 để đả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!,val2
2

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, boolean
3 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, boolean
3 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!,val2
3

Đâ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!,val2
4

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ẫu

Bạ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!,val2
5

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!,val2
6

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!,val2
7

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, boolean
3 để 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, boolean
3 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, boolean
3 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, boolean
3 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, boolean
3

Đó 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, boolean
3 để 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, boolean
3. 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!,val2
8

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!,val2
9

Để 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, boolean
3 để 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, boolean
3 để 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, boolean
3 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, boolean
0

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, boolean
9 được sử dụng là

var arrObject = new Array("val1", 34, true); // string, number, boolean
var arrLiteral = [arrObject, "val2", 18, false); // object, string, number, boolean
1

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, boolean
2

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

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ả

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