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 trong JavaScript?

Trong phần này, chúng ta sẽ thảo luận về cách đếm tần suất xuất hiện của các ký tự trong một chuỗi. Ví dụ, xem xét từ, Javatpoint. Trong chuỗi đã cho, tần số của chữ j là 1 a là 2, v là 1, t- là 2, p là 1, o là 1, i là 1 và n là 1. Tương tự, chúng tôi sẽ thực hiện thông qua một chương trình Java với các cách tiếp cận khác nhau

Có nhiều giải pháp để đếm số lần xuất hiện của từng ký tự, một số trong số đó là

  • Sử dụng phương pháp ngây thơ
  • Sử dụng mảng truy cập
  • Sử dụng Java HashMap
  • Sử dụng Java 8

Sử dụng phương pháp ngây thơ

Đây là cách tiếp cận đơn giản nhất để đếm số lần xuất hiện của từng ký tự

CountOccuranceOfChar1. java

đầu ra

The occurrence of P is: 1
The occurrence of n is: 4
The occurrence of e is: 1
The occurrence of u is: 2
The occurrence of m is: 2
The occurrence of o is: 9
The occurrence of l is: 3
The occurrence of t is: 1
The occurrence of r is: 2
The occurrence of a is: 2
The occurrence of i is: 6
The occurrence of c is: 6
The occurrence of s is: 4
The occurrence of p is: 1
The occurrence of v is: 1

Sử dụng mảng truy cập

Trong chương trình Java sau đây, chúng ta đã sử dụng mảng bộ đếm để đếm số lần xuất hiện của mỗi ký tự trong một chuỗi. Chúng tôi đã xác định một vòng lặp for lặp qua chuỗi đã cho và tăng biến đếm lên 1 tại chỉ mục dựa trên ký tự. Một lần nữa, chúng tôi đã lặp lại mảng bộ đếm và in ký tự và tần số nếu bộ đếm [i] không phải là 0

CountOccuranceOfChar1. java

đầu ra

Please enter a string: javatpoint
a --> 2
i --> 1
j --> 1
n --> 1
o --> 1
p --> 1
t --> 2
v --> 1

Sử dụng Java HashMap

Trong chương trình Java sau, chúng tôi đã sử dụng Java HashMap để đếm số lần xuất hiện của từng ký tự trong chuỗi đã cho. Chúng tôi biết rằng HashMap lưu trữ các cặp khóa và giá trị và không giữ khóa trùng lặp. Chương trình lưu trữ ký tự dưới dạng khóa và sự xuất hiện của ký tự dưới dạng giá trị

Đầu tiên, chúng tôi đã chuyển đổi chuỗi đã cho thành mảng ký tự và lặp lại từng mảng ký tự một. Cập nhật giá trị đếm trong HashMap. Sau đó, đối với mỗi ký tự, chúng ta cần xác minh xem khóa đã tồn tại trong HashMap hay chưa. Nếu tồn tại, hãy tăng biến số đếm, nếu không thì hãy thêm nó vào bản đồ dưới dạng khóa mới và cung cấp giá trị ban đầu bằng số đếm 1

ĐếmOccuranceOfChar2. java

đầu ra

Sử dụng Java 8

Trong chương trình Java sau đây, chúng tôi đã sử dụng các tính năng của Java 8. Đầu tiên, chúng tôi đã khởi tạo một chuỗi trong đó sự xuất hiện của ký tự sẽ được tính. Sau đó, chúng tôi đã tạo một phiên bản của Bản đồ Java. Chúng tôi đã thực hiện các thao tác trung gian khác nhau để có được sự xuất hiện của ký tự

Đầu tiên, chuỗi đã cho được chia thành mảng bằng cách sử dụng Chuỗi. phương pháp tách []. Sau đó, các mảng. phương thức stream[] trả về một luồng của mảng đã truyền

Hoạt động trung gian thứ hai là chuyển đổi chuỗi thành chữ thường. Đối với điều tương tự, chúng tôi đã sử dụng Luồng. map[] phương thức trả về một luồng bao gồm các kết quả của việc áp dụng hàm đã cho cho các phần tử của luồng này

Hàm coll[] được sử dụng để thực hiện thao tác rút gọn có thể thay đổi và nối các phần tử danh sách. các nhà sưu tập. Phương thức groupingBy[] trả về một Collector thực hiện thao tác "nhóm theo" xếp tầng trên các phần tử đầu vào thuộc loại T

Để đếm các phần tử, chúng ta đã sử dụng phương thức Counting[] của lớp Collectors. Phương thức trả về một Collector chấp nhận các phần tử kiểu T. Nó đếm số phần tử đầu vào, nếu không có phần tử nào thì kết quả là 0

CountOccuranceOfChar3. java

đầu ra

{c=2, o=2, m=2, u=1, n=2, i=2, a=1, t=1}

Hãy xem một logic khác cho cùng

Logic của chương trình Java sau giống với chương trình trên ngoại trừ một số điểm. Trong chương trình Java sau đây, chúng ta đã sử dụng lớp Java Pattern

Đầu tiên, chúng ta đã gọi phương thức compile[] để biên dịch biểu thức chính quy đã cho thành một mẫu. Sau đó, chúng ta đã gọi hàm matcher[] để tạo một bộ so khớp [khớp đầu vào đã cho với mẫu này]

Cuối cùng, chúng tôi đã tạo một đối tượng của Bản đồ, hãy đếm các phần tử được lưu trữ trong bản đồ. Sau khi đếm, lặp lại bản đồ bằng cách sử dụng vòng lặp forEach[]. Giải pháp hoạt động cho các phiên bản Java 8 hoặc chữ cái

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 để tìm từng lần xuất hiện của một chữ cái được cung cấp trong một chuỗi trong JavaScript?

Ví dụ 2. Kiểm tra sự xuất hiện của một ký tự bằng Regex . 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.

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?

Cách tiếp cận 1. Theo cách tiếp cận này, chúng tôi sử dụng cấu trúc dữ liệu bản đồ để lưu trữ số lần các ký tự xuất hiện. .
Đầu tiên chúng ta khởi tạo map với key mỗi ký tự của chuỗi và giá trị cho mỗi ký tự là 0
Chúng tôi lặp qua chuỗi và tăng giá trị của ký tự
Cuối cùng, in khóa-giá trị của bản đồ

Làm cách nào để đếm số lần xuất hiện chuỗi trong chuỗi bằng 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.

Chủ Đề