Thông thường trong lập trình, mọi nhà phát triển cần đếm từng lần xuất hiện của một ký tự trong chuỗi hoặc câu trong một số tình huống. Trong bài viết này, chúng ta sẽ nghiên cứu tất cả các cách tốt nhất có thể để hiểu cách đếm số lần xuất hiện của từng ký tự trong một chuỗi bằng Javascript. Để đếm ký tự trong câu hoặc chuỗi chúng ta có thể sử dụng các phương pháp sau đây rất dễ dàng và tốt
Xem Pen JavaScript - Số lần xuất hiện của mỗi chữ cái trong chuỗi-hàm-ex-17 được chỉ định bởi w3resource [@w3resource] trên CodePen
Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus
Trước. Viết hàm JavaScript để trích xuất các ký tự duy nhất từ một chuỗi
Kế tiếp. Viết hàm tìm kiếm mảng JavaScript bằng tìm kiếm nhị phân
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
JavaScript. Lời khuyên trong ngày
Sắp xếp mảng số
Các mảng JavaScript đi kèm với một phương thức sắp xếp tích hợp. Phương thức sắp xếp này chuyển đổi các phần tử mảng thành chuỗi và thực hiện sắp xếp từ điển theo mặc định. Điều này có thể gây ra sự cố khi sắp xếp các mảng số. Do đó đây là một giải pháp đơn giản để khắc phục vấn đề này
[0,10,4,9,123,54,1].sort[[a,b] => a-b]; >>> [0, 1, 4, 9, 10, 54, 123]
Bạn đang cung cấp một hàm để so sánh hai phần tử trong mảng số với phương thức sắp xếp. Chức năng này giúp chúng tôi nhận được đầu ra chính xác
Lấy một mảng để lưu trữ tần số của từng ký tự. Nếu tìm thấy ký tự tương tự, thì tăng thêm một ký tự khác, đặt 1 vào mảng đó
Giả sử sau đây là chuỗi của chúng ta -
var sentence = "My name is John Smith";
Sau đây là mã JavaScript để đếm số lần xuất hiện -
Thí dụ
var sentence = "My name is John Smith"; sentence=sentence.toLowerCase[]; var noOfCountsOfEachCharacter = {}; var getCharacter, counter, actualLength, noOfCount; for [counter = 0, actualLength = sentence.length; counter < actualLength; ++counter] { getCharacter = sentence.charAt[counter]; noOfCount = noOfCountsOfEachCharacter[getCharacter]; noOfCountsOfEachCharacter[getCharacter] = noOfCount ? noOfCount + 1: 1; } for [getCharacter in noOfCountsOfEachCharacter] { if[getCharacter!=' '] console.log["Character="+getCharacter + " Occurrences=" + noOfCountsOfEachCharacter[getCharacter]]; }
Để chạy chương trình trên, bạn cần sử dụng lệnh sau -
node fileName.js.
Ở đây, tên tệp của tôi là demo40. js
đầu ra
Điều này sẽ tạo ra đầu ra sau -
PS C:\Users\Amit\JavaScript-code> node demo40.js Character=m Occurrences=3 Character=y Occurrences=1 Character=n Occurrences=2 Character=a Occurrences=1 Character=e Occurrences=1 Character=i Occurrences=2 Character=s Occurrences=2 Character=j Occurrences=1 Character=o Occurrences=1 Character=h Occurrences=2 Character=t Occurrences=1
Bài đăng này sẽ thảo luận về cách đếm tổng số lần xuất hiện của một ký tự trong chuỗi bằng JavaScript
1. Sử dụng Regex
Biểu thức chính quy thường được sử dụng trong JavaScript để khớp văn bản với mẫu. Ví dụ mã sau minh họa cách sử dụng của nó để lấy số ký tự trong chuỗi. Nó sử dụng phương thức match[]
của thể hiện chuỗi
Nếu bạn kiểm tra số lần xuất hiện của 'o' trong chuỗi 'school', kết quả là 2
ví dụ 1. Kiểm tra sự xuất hiện của một ký tự bằng vòng lặp
// program to check the number of occurrence of a character
function countString[str, letter] {
let count = 0;
// looping through the items
for [let i = 0; i < str.length; i++] {
// check if the character is at that position
if [str.charAt[i] == letter] {
count += 1;
}
}
return count;
}
// take input from the user
const string = prompt['Enter a string: '];
const letterToCheck = prompt['Enter a letter to check: '];
//passing parameters and calling the function
const result = countString[string, letterToCheck];
// displaying the result
console.log[result];
đầu ra
Enter a string: school Enter a letter to check: o 2
Trong ví dụ trên, người dùng được nhắc nhập một chuỗi và ký tự để kiểm tra
- Ban đầu, giá trị của biến đếm là 0
- Vòng lặp
for
được sử dụng để lặp qua các chuỗi - Phương thức
charAt[]
trả về một ký tự tại một chỉ mục đã chỉ định - Trong mỗi lần lặp lại, nếu ký tự tại chỉ mục đó khớp với ký tự bắt buộc để khớp, thì biến đếm được tăng thêm 1
ví dụ 2. Kiểm tra sự xuất hiện của một ký tự bằng Regex
// program to check the occurrence of a character
function countString[str, letter] {
// creating regex
const re = new RegExp[letter, 'g'];
// matching the pattern
const count = str.match[re].length;
return count;
}
// take input from the user
const string = prompt['Enter a string: '];
const letterToCheck = prompt['Enter a letter to check: '];
//passing parameters and calling the function
const result = countString[string, letterToCheck];
// displaying the result
console.log[result];
đầu ra
Enter a string: school Enter a letter to check: o 2
Trong ví dụ trên, một biểu thức chính quy [regex] được sử dụng để tìm sự xuất hiện của một chuỗi
const re = new RegExp[letter, 'g'];
tạo một biểu thức chính quy- Phương thức
match[]
trả về một mảng chứa tất cả các kết quả khớp. Ở đây,str.match[re];
đưa ra ["o", "o"] - Thuộc tính
length
cung cấp độ dài của một phần tử mảng