Biết cách lặp nhanh qua một mảng và đếm các đối tượng rất đơn giản. Phương thức
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
0 sẽ cho bạn biết tổng số giá trị trong mảng, nhưng nếu bạn chỉ muốn đếm các giá trị đó dựa trên các điều kiện nhất định thì sao?Ví dụ, hãy tưởng tượng bạn có một mảng như thế này
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
Và bạn chỉ muốn đếm số đối tượng có
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
1 được đặt thành const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
2Giống như hầu hết mọi thứ trong lập trình, có một số cách để làm điều này. Chúng ta sẽ đi qua một số phương pháp phổ biến dưới đây
Sử dụng vòng lặp const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
3
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
Có lẽ cách dễ nhất là khai báo một biến
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
4, lặp qua mảng và chỉ lặp lại const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
4 nếu const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
1 bằng với const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
2const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
Bạn có thể đơn giản hóa điều này một chút bằng cách sử dụng vòng lặp
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
8const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
1Ngoài ra, bạn có thể tạo một hàm để làm điều tương tự nếu bạn có các mảng đối tượng khác để đếm theo điều kiện
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
2Sử dụng các phương thức mảng
JavaScript bao gồm một loạt các phương thức hữu ích khi làm việc với mảng. Mỗi cái có thể được xâu chuỗi thành một mảng và truyền các tham số khác nhau để làm việc trong khi lặp qua các phần tử trong mảng
Hai cái chúng ta sẽ xem xét là
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
9 và const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
10const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
9
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
Phương thức bộ lọc thực hiện điều đó – nó lặp qua từng phần tử trong mảng và lọc ra tất cả các phần tử không đáp ứng [các] điều kiện mà bạn cung cấp. Sau đó, nó trả về một mảng mới với tất cả các phần tử trả về true dựa trên [các] điều kiện của bạn
Ví dụ
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
6Bây giờ bạn đã lọc ra đối tượng bằng
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
12, chỉ cần gọi phương thức const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
0 trên mảng mới để lấy tổng số đối tượng bằng const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
12const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
0Nhưng điều này có thể được rút ngắn rất nhiều với cú pháp ES6
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
1const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
10
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
Hãy coi phương pháp
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
10 giống như một con dao của quân đội Thụy Sĩ – nó cực kỳ linh hoạt và cho phép bạn lấy một mảng làm đầu vào và chuyển đổi nó thành bất kỳ thứ gì. Thậm chí tốt hơn, như const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
9, phương thức này trả về một mảng mới, không thay đổi mảng ban đầuBạn có thể đọc thêm về
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
10 trong bài viết nàyĐối với mục đích của chúng tôi, chúng tôi muốn lấy một mảng, kiểm tra nội dung của nó và tạo ra một số. Đây là một cách đơn giản để làm điều đó
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
6Bạn có thể đơn giản hóa hơn nữa bằng cách sử dụng cú pháp ES6 và toán tử bậc ba
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
7Và thậm chí nhiều hơn một chút bằng cách sử dụng phá hủy đối tượng
const storage = [
{ data: '1', status: '0' },
{ data: '2', status: '0' },
{ data: '3', status: '0' },
{ data: '4', status: '0' },
{ data: '5', status: '0' },
{ data: '6', status: '0' },
{ data: '7', status: '1' },
];
let counter = 0;
for [let i = 0; i < storage.length; i++] {
if [storage[i].status === '0'] counter++;
}
console.log[counter]; // 6
8Vì vậy, đó là một số cách để duyệt qua các phần tử của một mảng và đếm chúng theo điều kiện. Bây giờ hãy ra khỏi đó và đếm với sự tự tin
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nếu bài viết này hữu ích, hãy tweet nó
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu