Bất cứ khi nào bạn muốn lặp qua một mảng trong Javascript, cách phổ biến được thực hiện là sử dụng vòng lặp
arr.forEach[[item, index] => console.log[item, index]];
2, arr.forEach[[item, index] => console.log[item, index]];
3 hoặc bất kỳ vòng lặp tương tự nào. Mặc dù đây là một lựa chọn hợp lệ, nhưng có nhiều cách tiếp cận khác mà bạn có thể thực hiện để lặp qua một mảng trong Javascriptcho mỗi
arr.forEach[[item, index] => console.log[item, index]];
4 cho phép bạn lặp qua tất cả các mục trong một mảng. Ví dụ, một vòng lặp for như thế nàyfor [let i = 0; i console.log[item]];
Điều này giúp loại bỏ nhu cầu tiếp tục sử dụng chỉ mục để truy cập mục, đặc biệt khi các mục trong mảng là các đối tượng và việc truy cập các thuộc tính của chúng có thể trở nên rắc rối khi sử dụng chỉ mục [trừ khi bạn gán nó cho một biến mới trong vòng lặp. ]
Bạn cũng có thể truy cập chỉ mục
arr.forEach[[item, index] => console.log[item, index]];
bản đồ
arr.forEach[[item, index] => console.log[item, index]];
5 lặp qua một mảng và trả về một mảng mới. Điều này hữu ích khi bạn đang lặp qua một mảng, nhưng cũng đang sửa đổi nóVí dụ, để làm điều này trong vòng lặp for
for [let i = 0; i item + 1];
Bạn cũng có thể truy cập chỉ mục
const newArr = arr.map[[item, index] => item + index];
giảm
arr.forEach[[item, index] => console.log[item, index]];
6 cho phép bạn lặp qua một mảng và tích lũy kết quả từ các lần lặp trước cho đến lần lặp hiện tại. Cuối cùng, một kết quả duy nhất được thêm vàoVí dụ: giả sử bạn muốn lấy tổng các phần tử trong một mảng. Sử dụng vòng lặp bạn có thể làm như thế này
let sum = 0;
for [let i = 0; i console.log[item, index]];
6, bạn có thể làm theo cách nàyconst arr = [1, 2, 3, 4];
const sum = arr.reduce[[accumulator, currentValue] => accumulator + currentValue];
Tham số
arr.forEach[[item, index] => console.log[item, index]];
8 là kết quả sau lần lặp cuối cùng trước lần lặp hiện tại và giá trị của nó cuối cùng sẽ là giá trị được trả về. Theo mặc định, giá trị ban đầu của nó là giá trị của phần tử đầu tiên và phép lặp bắt đầu từ phần tử thứ hai. Vì vậy, trong ví dụ trên, trong lần lặp đầu tiên, arr.forEach[[item, index] => console.log[item, index]];
8 sẽ là 1 và for [let i = 0; i console.log[item, index]];
8 sẽ là 3 và for [let i = 0; i console.log[item]];
1Nó sẽ kiểm tra xem mỗi
arr = arr.map[[item] => item + 1];
5 có phải là arr = arr.map[[item] => item + 1];
6 không và nếu một trong các mục không phải, nó sẽ dừng vòng lặp và trả về falseNếu bạn không thực sự cần lưu trữ giá trị trong một biến như trong ví dụ trên, bạn chỉ cần
arr.forEach[[item] => console.log[item]];
2Bạn cũng có thể chuyển
arr = arr.map[[item] => item + 1];
7 làm tham số thứ hai với arr = arr.map[[item] => item + 1];
5một số
Không giống như
arr = arr.map[[item] => item + 1];
2, const newArr = arr.map[[item] => item + 1];
0 cho phép bạn lặp qua một mảng và kiểm tra xem có ít nhất một mục trả về true cho hàm gọi lại hay không. Khi một mục được tìm thấy vượt qua bài kiểm tra được cung cấp, vòng lặp sẽ dừng và trả về true. Nếu không tìm thấy mục nào vượt qua bài kiểm tra được cung cấp, vòng lặp sẽ trả về falseVí dụ: để kiểm tra xem có ít nhất một mục lớn hơn 0 trong mảng hay không bằng cách sử dụng vòng lặp for
arr.forEach[[item] => console.log[item]];
3Để thực hiện việc này, hãy sử dụng
const newArr = arr.map[[item] => item + 1];
0arr.forEach[[item] => console.log[item]];
4Bạn cũng có thể loại bỏ việc gán nó cho một biến nếu bạn không cần
arr.forEach[[item] => console.log[item]];
5Bạn có thể truy cập chỉ mục bằng cách chuyển nó dưới dạng tham số thứ hai cho hàm gọi lại
lọc
const newArr = arr.map[[item] => item + 1];
2 lặp qua một mảng và trả về một mảng mới chỉ có các phần tử trả về const newArr = arr.map[[item] => item + 1];
3 trong hàm gọi lạiVí dụ, để chỉ lấy các phần tử lớn hơn 0 trong mảng, bạn có thể làm theo cách này với vòng lặp for
arr.forEach[[item] => console.log[item]];
6Để thực hiện việc này, hãy sử dụng
const newArr = arr.map[[item] => item + 1];
4arr.forEach[[item] => console.log[item]];
7Bạn cũng có thể truy cập chỉ mục bằng cách chuyển đối số thứ hai tới mảng gọi lại
tìm thấy
Với
const newArr = arr.map[[item] => item + 1];
5, bạn có thể lặp qua một mảng để tìm phần tử đầu tiên trả về true cho một hàm nhất định. Khi phần tử được tìm thấy, vòng lặp sẽ dừng lại và phần tử sẽ được trả về. Nếu không tìm thấy phần tử nào thỏa mãn xác thực, thì sẽ trả về const newArr = arr.map[[item] => item + 1];
6. Điều này tương tự với const newArr = arr.map[[item] => item + 1];
0, ngoại trừ việc const newArr = arr.map[[item] => item + 1];
5 trả về phần tử trong khi const newArr = arr.map[[item] => item + 1];
0 chỉ trả về một giá trị booleanVí dụ, để tìm một phần tử trong mảng lớn hơn 0 sử dụng vòng lặp for
arr.forEach[[item] => console.log[item]];
8Để làm điều này sử dụng
const newArr = arr.map[[item] => item + 1];
5arr.forEach[[item] => console.log[item]];
9Bạn cũng có thể truy cập chỉ mục bằng cách chuyển đối số thứ hai tới mảng gọi lại
tìm Index
Điều này tương tự với
const newArr = arr.map[[item] => item + 1];
5, ngoại trừ việc nó trả về chỉ mục của phần tử. Nếu không tìm thấy phần tử nào, nó trả về -1Ví dụ, để tìm chỉ số của một phần tử trong mảng lớn hơn 0 sử dụng vòng lặp for
arr.forEach[[item, index] => console.log[item, index]];
0Sử dụng
const newArr = arr.map[[item, index] => item + index];
2arr.forEach[[item, index] => console.log[item, index]];
1Bạn cũng có thể truy cập chỉ mục bằng cách chuyển đối số thứ hai tới mảng gọi lại
tính tương thích của trình duyệt web
Cần lưu ý rằng tất cả các chức năng này đều tương thích với các trình duyệt hiện đại, tuy nhiên, khả năng tương thích của nó trong IE bắt đầu từ IE9. Vì vậy, nếu bạn cần làm cho mã của mình tương thích với các trình duyệt cũ hơn, có thể bạn sẽ cần sử dụng Polyfill