Làm cách nào để đếm số lần xuất hiện của từng ký tự trong một chuỗi trong JavaScript?

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 FacebookTwitter để 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

Làm cách nào để đếm số lần xuất hiện của từng ký tự trong một chuỗi trong JavaScript?


Làm cách nào để đếm số lần xuất hiện của từng ký tự trong một chuỗi trong JavaScript?

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

Làm cách nào để đếm số lần xuất hiện của từng ký tự trong một chuỗi trong JavaScript?

Viết một hàm countAmountOfEach Character , chấp nhận một tham số. inputString , một chuỗi hợp lệ . Hàm sẽ trả về một đối tượng. Đối tượng có khóa cho mọi ký tự tồn tại ít nhất một lần trong chuỗi. Giá trị cho mỗi khóa là số lần ký tự đó tồn tại trong chuỗi.

Làm cách nào để tìm số lần xuất hiện trong chuỗi JavaScript?

Trong JavaScript, chúng ta có thể đếm số lần xuất hiện của chuỗi trong một chuỗi bằng cách đếm số lần chuỗi xuất hiện trong chuỗi . JavaScript cung cấp một hàm match(), được sử dụng để tạo ra tất cả các lần xuất hiện của một chuỗi trong một mảng.

Làm cách nào để có được số lần xuất hiện của mỗi chữ cái trong chuỗi được chỉ định?

Cho trước một chuỗi và một ký tự, nhiệm vụ là tạo một hàm đếm số lần xuất hiện của ký tự đã cho trong chuỗi . ví dụ. Đầu vào. str = "geeksforgeeks" c = 'e' Đầu ra. 4 'e' xuất hiện bốn lần trong str. Đầu vào. str = "abccdefgaa" c = 'a' Đầu ra. 3 'a' xuất hiện ba lần trong str.