Nó thường là một hoạt động điển hình để người dùng đếm số lần xuất hiện của một phần tử cụ thể trong một mảng JavaScript. Phần tử mà người dùng sẽ sử dụng có thể là số, chuỗi, đối tượng hoặc thậm chí là Boolean. Trong bài viết này, chúng ta sẽ tìm hiểu các kỹ thuật khác nhau để đếm số lần xuất hiện phần tử của các phần tử trong một mảng JavaScript
Phương pháp 1. Đếm số lần xuất hiện phần tử bằng vòng lặp for-of
Sử dụng vòng lặp for là một trong những phương thức tiêu chuẩn lặp qua một mảng và cho phép người dùng lặp qua từng phần tử của mảng JS và trả về các thao tác mong muốn do lập trình viên đưa ra. Như vậy người dùng có thể sử dụng phương thức này để đếm số lần xuất hiện của bất kỳ phần tử JS nào trong mảng
Có lẽ, đây là giải pháp tốt nhất để đếm số phần tử xuất hiện trong một mảng
Như chúng ta đều biết, JavaScript có một vòng lặp for tích hợp sẵn và nó lặp qua từng phần tử riêng lẻ trên mảng. Nhưng để làm cho một cái gì đó dễ dàng hơn một chút, người dùng có thể sử dụng sửa đổi của nó, tôi. e. , vòng lặp for
Sử dụng kỹ thuật này, người dùng có thể truy cập trực tiếp vào giá trị của chính phần tử đó chứ không phải truy cập từng phần tử theo chỉ số cụ thể trong mảng
Đoạn mã
const students = [23, 28, 18, 19, 28, 18, 28, 21, 23];
let a = 23;
let b = 0;
for [marks of students] {
if [marks == a] {
b++;
}
};
console.log[b];
document.write['Occurance of Varaible '+ a + ' in array: ' + students + ': ' + b];
đầu ra
Chạy đoạn mã
Giải trình
Trong ví dụ trên, trước hết, chúng ta hãy tìm xem một phần tử cụ thể xuất hiện bao nhiêu lần trong mảng có tên "sinh viên. " Để thực hiện điều này, người dùng cần sửa một biến đếm thành 0
Ở đây, chúng tôi đã sử dụng một biến đếm có tên là "b. " Sau đó, họ cần sử dụng vòng lặp for để lặp qua mảng JS và tăng biến "b" lên một lần mỗi khi họ tìm thấy phần tử mong muốn mà họ đang tìm kiếm
Khi người dùng sử dụng vòng lặp for sẽ lặp qua toàn bộ mảng. Biến đếm sẽ giữ số lần xuất hiện của phần tử mong muốn
Ngoài ra, sử dụng vòng lặp for, người dùng có thể tìm hoặc đếm số lần xuất hiện của phần tử khi có một mảng các mảng
Phương pháp 2. Sử dụng vòng lặp for đơn giản để đếm số lần xuất hiện của một phần tử
Sử dụng vòng lặp for cơ bản trong JavaScript, người dùng cũng có thể lấy số lần xuất hiện của các phần tử làm đầu ra
Đoạn mã
const array = ['A', 'C', 'B', 'C', 'B', 'B'];
const demo = {};
for [let a = 0; a < array.length; a++] {
const b = array[a];
if [demo[b]] {
demo[b] += 1;
} else {
demo[b] = 1;
}
}
console.log[demo];
document.write['Occurance of element in array: ' + array + ': ' + JSON.stringify[demo, null, 4]];
đầu ra
Chạy đoạn mã
Giải trình
Ở đây, chúng ta đã sử dụng vòng lặp for cơ bản của JavaScript sẽ lặp qua các phần tử của mảng. Sau đó, chúng tôi sử dụng một biến có tên là "demo" bao gồm vòng lặp for và mảng. thuộc tính độ dài của JavaScript sẽ đặt hoặc trả về số phần tử trong mảng đã cho
Phương pháp 3. Sử dụng hàm reduce[] để đếm số lần xuất hiện của một phần tử
Phương thức reduce[] của JavaScript là một trong những phương pháp hiệu quả mà người dùng sử dụng để tìm số lượng của từng phần tử xuất hiện trong một mảng JS một cách hiệu quả chỉ bằng một vài dòng mã. Nó nhận hàm gọi lại và một giá trị ban đầu, trả về số lượng phần tử đã xảy ra dưới dạng một đối tượng trống để người dùng có thể điền nó sau đó
Đoạn mã
const a = ["Hello", 6, "Python", "Hello", "Python", 2, 34, "Hello", "English", 34];
let b = a.reduce[function[c, d] {
return[
c[d] ? ++c[d] : [c[d] = 1], c
];
},
{}];
console.log[b];
document.write['Occurance of element in array
' + a + '
' + JSON.stringify[b, null, 4]]
đầu ra
Chạy đoạn mã
Giải trình
Trong đoạn mã trên, chúng tôi đã sử dụng phương thức JavaScript reduce[] để giảm mảng thành một giá trị duy nhất và bên trong phương thức này, chúng tôi đã sử dụng một điều kiện để kiểm tra và trả về số lần xuất hiện của từng phần tử trong mảng JS
Trong bảng điều khiển đầu ra, chúng ta có thể thấy số lần xuất hiện của từng phần tử mảng ở dạng cặp khóa-giá trị [{phần tử. Số lần xuất hiện,. }]
Phương pháp 4. Sử dụng filter[] để đếm số lần xuất hiện của một phần tử
Ngoài việc sử dụng phương thức for loop và reduce[] truyền thống giúp người dùng đếm số lần xuất hiện của một phần tử JS, chúng ta hãy xem thêm một số kỹ thuật trong phần này của bài viết. Phương thức filter[] là một trong những phương thức phổ biến để lọc và đếm số lần xuất hiện của một phần tử JS cụ thể
Đoạn mã
const demo = ["Python", 6, "Python", "Hello", "Python", 2, 34, "Hello", "English", 34];
const a = [array, item] => {
return array.filter[[b] => b == item].length;
};
console.log[a[demo, "Python"]];
document.write['Occurance of element "Python" in array: ' + demo + '
"Python" : '+ a[demo, "Python"]]
đầu ra
Chạy đoạn mã
Giải trình
Trong đoạn mã trên, chúng tôi đã sử dụng phương thức filter[] của JavaScript để điền vào một mảng tùy thuộc vào điều kiện mong muốn. Người dùng cũng có thể lấy độ dài bằng cách sử dụng thuộc tính độ dài từ đây
Phương pháp 5. Sử dụng lodash [] để đếm số lần xuất hiện của một phần tử
Phương pháp cuối cùng chúng ta sẽ thảo luận trong bài viết này là phương pháp lodash. Nhưng nhìn chung, nhiều chuyên gia khuyên người dùng nên tránh cài đặt thêm các gói chỉ đếm phần tử trong mảng. Nhưng nếu người dùng đã cài đặt sẵn thư viện Lodash trong dự án của họ, họ có thể sử dụng thư viện này mà không gây hại gì khi sử dụng trong khi đếm các phần tử
Đoạn mã
const myArray = ["Python", 6, "Python", "Hello", "Python", 2, 34, "Hello", "English", 34];
let lodash = _;
let elementOccurrences = _.countBy[myArray];
console.log[elementOccurrences];
document.write['Occurance of element in array ' + myArray + '
: ' + elementOccurrences]
đầu ra
Chạy đoạn mã
Giải trình
Trong đoạn mã trên, chúng tôi đã sử dụng thư viện JavaScript lodash chấp nhận một mảng và kiểm tra sự xuất hiện của từng phần tử trong mảng. Các. Phương thức countBy[] của Lodash lấy các giá trị của mảng JS và trả về một đối tượng mới. Đối tượng bao gồm từng phần tử và số lượng của nó trong các cặp khóa-giá trị
Phương pháp 6. Sử dụng Phương pháp Bản đồ Javascript Bản đồ
Đoạn mã
var array = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4]
const count = array.reduce[[acc, e] => acc.set[e, [acc.get[e] || 0] + 1], new Map[]];
console.log[[...count.entries[]]]
đầu ra
Chạy đoạn mã
Phần kết luận
Nếu người dùng muốn đếm số lần xuất hiện của một phần tử cụ thể trong mảng JavaScript, họ có thể sử dụng các phương pháp trên được đề cập trong bài viết này để đếm số lượng. Nhưng vòng lặp for tốt hơn vòng lặp for và tốt hơn là không cài đặt bất kỳ thư viện bên ngoài nào chỉ để đếm số lần xuất hiện của một phần tử