Tìm tần suất của các ký tự trong chuỗi javascript

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

Để hoàn thành nhiệm vụ này, chúng tôi sẽ duy trì một mảng gọi là freq với cùng kích thước với độ dài của chuỗi. Freq sẽ được sử dụng để duy trì số lượng của từng ký tự có trong chuỗi. Bây giờ, lặp qua chuỗi để so sánh từng ký tự với phần còn lại của chuỗi. Tăng số phần tử tương ứng trong freq. Cuối cùng, lặp qua freq để hiển thị tần số của các ký tự

Bạn đang kiểm tra điều gì trong điều kiện if?
Nếu bạn cần đếm xem có bao nhiêu ký tự trong mỗi ký tự, thì đó không phải là mã đó
Tôi đang suy nghĩ thành tiếng, có thể nói như vậy, có lẽ bạn cần một cấu trúc nào đó để theo dõi xem mỗi cái có bao nhiêu chữ cái. Sau đó đi qua chuỗi kiểm tra từng chữ cái và tính tổng nếu nó giống nhau trong chuỗi
Nó chỉ là một ý tưởng, để bắt đầu suy nghĩ vấn đề
Điều hữu ích là trước tiên hãy thử giải một phiên bản nhỏ hơn “bằng tay” để có ý tưởng về vấn đề trước khi bắt đầu viết mã. Thực hiện theo từng bước của vòng lặp để xem điều gì đang xảy ra

Trong bài viết này, chúng ta được cung cấp một chuỗi, nhiệm vụ của chúng ta là tìm sự xuất hiện của một ký tự trong chuỗi với sự trợ giúp của một hàm do người dùng định nghĩa.  

Example: Input : "hello" Output : h occur 1 times e occur 1 times l occur 2 times o occur 1 times Explanation : here "hello" have 1 h, so it have 1 value. as same e have 1, l have 2 , o have 1. Example 2: Input : "did" Output: d occur 2 times i occur 1 times

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 tôi khởi tạo bản đồ bằng một khóa cho 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 đồ

Thí dụ. Ví dụ này cho thấy việc sử dụng phương pháp được giải thích ở trên

Javascript




<script>

    //function to print occurrence of character

    function printans( ans )

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______3h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times4

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times8

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times0

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

    

    g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

    

    g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times9

    function h occur 1 times e occur 1 times l occur 2 times o occur 1 times2

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______3h occur 1 times e occur 1 times l occur 2 times o occur 1 times7

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______1

    

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7<script>2

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7<script>4

<script>5

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2    0

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2______138_______2

    g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

    

        7

    function //function to print occurrence of character0

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2______139_______4

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______139_______6//function to print occurrence of character7

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7    1    2    3

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7    5     6

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2function0

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7function4

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7function6function7 function8

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times3printans( ans )1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1____142_______5

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7_______5_______00

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

    

    g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

    

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times09

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times11_______5_______12    6

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times15

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times16

đầu ra

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times

Cách tiếp cận 2. Trong cách tiếp cận này, chúng tôi sử dụng vòng lặp for lồng nhau để lặp qua chuỗi và đếm cho từng ký tự trong chuỗi.  

  • Đầu tiên, khởi tạo count với giá trị 0 cho giá trị thứ i của chuỗi
  • Bây giờ chúng tôi lặp lại chuỗi nếu giá trị thứ i khớp với ký tự, tăng giá trị đếm lên 1
  • Cuối cùng, in giá trị của số đếm

Thí dụ. Ví dụ này cho thấy việc sử dụng phương pháp được giải thích ở trên

Javascript




<script>

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times19

    function h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times22

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______26

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______139_______6h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times29

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7    1_______5_______34h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times35

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7    5    6

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______42

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______3h occur 1 times e occur 1 times l occur 2 times o occur 1 times7

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2_______5_______1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times49

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times51

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times3h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times54

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1//function to print occurrence of character6h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times59

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times62_______5_______63    6

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1//function to print occurrence of character6h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times69

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times1

<script>5h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times73

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times1g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7//function to print occurrence of character6h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times80

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7_______5_______82

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times7

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times2g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

    

    g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times3

    

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times09

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times93_______5_______94    6

    h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times97

h occurs 1 times e occurs 1 times l occurs 3 times o occurs 2 times w occurs 1 times r occurs 1 times d occurs 1 times16

đầu ra

g occurs 2 times f occurs 1 times h occurs 1 times e occurs 1 times l occurs 2 times o occurs 1 times

Cách tiếp cận-3. Trong cách tiếp cận này, chúng tôi sẽ sử dụng vòng lặp for để lặp qua chính chuỗi hoàn chỉnh. Đây là cách tiếp cận đơn giản nhất mà chúng tôi có thể thực hiện để tìm ra nhiệm vụ kết quả

Làm cách nào để tìm tần suất của các ký tự trong một chuỗi trong JavaScript?

tần suất của các ký tự trong chuỗi sử dụng đối tượng .
for(let i=0;i

Chủ đề