Làm cách nào để thêm giá trị vào một mảng trong JavaScript trong vòng lặp for?

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 Javascript


cho 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ày

for (let i = 0; i < arr.length; i++) {
	console.log(arr[i]);
}

sẽ trở thành

arr.forEach((item) => 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 < arr.length; i++) {
    arr[i] = arr[i] + 1;
}

Có thể được thực hiện theo cách này trong bản đồ

________số 8_______

Bạn cũng có thể gán nó cho một mảng mới

const newArr = arr.map((item) => 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ào

Ví 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 < arr.length; i++){
	sum += arr[i]
}

Sử dụng

arr.forEach((item, index) => console.log(item, index));
6, bạn có thể làm theo cách này

const 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 < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
0 sẽ là 2. 1 + 2 là 3 nên trong lần lặp thứ hai,
arr.forEach((item, index) => console.log(item, index));
8 sẽ là 3 và
for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
0 sẽ là 3 (vì phần tử trong mảng đứng sau 2), v.v. Cuối cùng, giá trị trả về sẽ là 10

Bạn cũng có thể vượt qua

for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
3 để đặt giá trị ban đầu khác với phần tử đầu tiên. Nếu cung cấp
for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
3, phép lặp sẽ bắt đầu từ phần tử đầu tiên. Chuyển
for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
3 cũng hữu ích nếu bạn không chắc liệu có mục nào trong mảng của mình hay không, vì
arr.forEach((item, index) => console.log(item, index));
6 sẽ đưa ra lỗi nếu mảng trống và không có
for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
3 nào được cung cấp

Một ví dụ về việc sử dụng

for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
3

const arr = [1, 2, 3, 4];
const sum = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0);

với

for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
3 được đặt thành 0, trong lần lặp đầu tiên,
arr.forEach((item, index) => console.log(item, index));
8 sẽ là 0 và
for (let i = 0; i < arr.length; i++) {
    arr[i] = arr[i] + 1;
}
0 sẽ là 1 (bắt đầu từ phần tử đầu tiên của mảng)


mỗi

arr = arr.map((item) => item + 1);
2 cho phép bạn lặp qua một mảng và kiểm tra xem tất cả các mục trong mảng có trả về true trong hàm gọi lại được cung cấp không. Điều này hữu ích khi bạn đang lặp qua một mảng để đảm bảo rằng nó hợp lệ cho một quy trình xác thực nhất định. Vòng lặp sẽ dừng và trả về false bất cứ khi nào nó gặp một mục không trả về true trong hàm gọi lại

Ví dụ: để kiểm tra xem tất cả các phần tử trong mảng có lớn hơn 0 hay không, bạn có thể thực hiện như sau với vòng lặp

arr.forEach((item, index) => console.log(item, index));
2

arr.forEach((item) => console.log(item));
0

Để thực hiện việc này, hãy sử dụng

arr = arr.map((item) => item + 1);
2

arr.forEach((item) => console.log(item));
1

Nó 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ề false

Nế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));
2

Bạ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);
5


mộ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ề false

Ví 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);
0

arr.forEach((item) => console.log(item));
4

Bạ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));
5

Bạ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ại

Ví 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);
4

arr.forEach((item) => console.log(item));
7

Bạ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ị boolean

Ví 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);
5

arr.forEach((item) => console.log(item));
9

Bạ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ề -1

Ví 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));
0

Sử dụng

const newArr = arr.map((item, index) => item + index);
2

arr.forEach((item, index) => console.log(item, index));
1

Bạ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

Làm cách nào để lưu trữ các giá trị trong mảng bằng vòng lặp for trong JavaScript?

Ví dụ, một vòng lặp for như thế này. .
cho (hãy i = 0; tôi < mảng. chiều dài; . .
mảng. forEach((mục) => bảng điều khiển. .
mảng. forEach((mục, chỉ mục) => bảng điều khiển. .
cho (hãy i = 0; tôi < mảng. chiều dài; .
mảng = mảng. .
const newArr = mảng. .
const newArr = mảng. .
để tổng = 0;

Làm cách nào để thêm giá trị vào danh sách bằng vòng lặp for trong JavaScript?

var mảng = [ for (var i = 0; i < 32; i++) { { val. tôi, văn bản. tôi }, } ];

Tôi có thể sử dụng vòng lặp for trên mảng JavaScript không?

Có thể sử dụng vòng lặp for để truy cập mọi phần tử của mảng . Mảng bắt đầu từ 0 và độ dài thuộc tính mảng được sử dụng để đặt kết thúc vòng lặp.

Bạn có thể sửa đổi một mảng cho mỗi vòng lặp không?

Vòng lặp for-each bên dưới không thể thay đổi giá trị trong mảng vì chỉ có giá trị của biến vòng lặp thay đổi.