/codegym.vn/ - 106
Duyệt mảng đa chiều
Để duyệt phần tử của mảng đa chiều, chúng ta sử dụng các vòng lặp lồng nhau. Ví
dụ dưới đây sử dụng 2 vòng lặp lồng nhau để duyệt mảng hai chiều đã khai báo ở
trên.
1.
for
(
let
i
=
0
;
i
<
cities
.
length
;
i
++)
{
2.
for
(
let
j
=
0
;
j
<
cities
[
i
].
length
;
j
++)
{
3. document
.
write
(
cities
[
i
][
j
]
+
"<br>"
);
4.
}
5.
}
Vòng for bên ngoài sẽ duyệt qua các dòng, trong ví dụ trên, vòng for bên ngoài sẽ
duyệt qua 3 dòng (dòng 1: ["Ha Noi”, “Sai Gon”, “Da Nang”], dòng 2: ["New
Your”,”California”,”Miami”], dòng 3: ["Tokyo”,”Nagoya”,”Osaka”]). Trong mỗi dòng
(tương ứng với mảng một chiều) vòng for bên trong sẽ duyệt qua các phần tử của
mảng một chiều (Ví dụ tại dòng 1, vòng for bên trong sẽ duyệt qua các phần tử “Ha
Noi”, “Sai Gon”, “Da Nang”).
6. Các thao tác thông dụng với mảng
Mảng là một cấu trúc được sử dụng nhiều trong các ứng dụng, và cũng có rất nhiều
các thao tác khác nhau có thể thực hiện với mảng. Trong phần này, chúng ta sẽ cùng
liệt kê một số thao tác cơ bản và thường thấy khi làm việc với mảng.
Khởi tạo giá trị ngẫu nhiên cho các phần tử
Ví dụ:
1.
let
matrix
=
new
Array
(
10
,
10
);
2.
for
(
let
row
=
0
;
row
<
matrix
.
length
;
row
++)
{
3.
for
(
let
column
=
0
;
column
<
matrix
[
row
].
length
;
column
++)
{
4. matrix
[
row
][
column
]
=
Math
.
floor
((
Math
.
random
()
*
100
)
+
1
);
5.
}
6.
}
Trong ví dụ này, chúng ta đã sử dụng hàm random() của lớp Math để sinh ra các số
ngẫu nhiên nằm trong khoảng từ 0 đến 100.
Tính tổng các phần tử số
Ví dụ:
1.
let
total
=
0
;
2.
for
(
let
row
=
0
;
row
<
matrix
.
length
;
row
++)
{
3.
for
(
let
column
=
0
;
column
<
matrix
[
row
].
length
;
column
++)
{
4. total
+=
matrix
[
row
][
column
];
5.
}
6.
}
Trong ví dụ này, biến total lưu trữ giá trị của tổng tất cả các phần tử. Ban đầu biến
total có giá trị là 0, sau đó nó lần lượt “tích luỹ" thêm giá trị của từng phần tử. Đến
cuối cùng, giá trị của total chính là tổng của tất cả các phần tử.