📢 Giải Thuật 👈

Đếm số lượng các ký tự trùng nhau có trong chuỗi

Cùng nhau đếm nào. Trả về object nhé. Tùy tình huống triển khai
js_masterGiải Thuật
cau-truc-du-lieu-va-giai-thuat.jpg

Trong bài viết này mình cùng nhau đếm các ký tự trùng nhau có trong chuỗi.

Cũng đơn giản lắm

Không gì là không thể

  1. Đếm nó
1let nameMy = "Hồ Quang Trí";
2
3function demKyTuTrungNhau (str) {
4    let obj = {};
5    for(let v of str) {
6        if(v in obj) {
7            obj[v] = ++obj[v];
8        } else {
9            obj[v] = 1;
10        }
11    }
12    return obj;
13}
14
15console.log(JSON.stringify(demKyTuTrungNhau(nameMy))); 
16// `{"H":1,"ồ":1," ":2,"Q":1,"u":1,"a":1,"n":1,"g":1,"T":1,"r":1,"í":1}`

Đến đây thì chúng ta đã biết số lượng ký tự rồi đúng không ạ.

Tiếp theo nhiệm vụ của chúng ta là lấy cái ký tự nào có số lượng >= 2 thôi.

  1. Lấy ký tự trùng nhau
1let nameMy = "Hồ Quang Trí";
2
3function demKyTuTrungNhau (str) {
4    let obj = {};
5    let ketQua = {}; // Tạo object khác
6    for(let v of str) {
7        if(v in obj) {
8            obj[v] = ++obj[v];
9            if(obj[v] >= 2){
10                ketQua[v] = obj[v]; // Thêm nó vào
11            }
12        } else {
13            obj[v] = 1;
14        }
15    }
16    return ketQua; // Trả về 
17}
18
19console.log(JSON.stringify(demKyTuTrungNhau(nameMy))); // `{" ":2}`

Chỉ cần thêm vài dòng là chúng ta đã xong rồi. Đến đây có nhiều người nghĩ tại sao không lặp tiếp từ ví dụ đầu tiên. Nhưng với mình thì mình dùng cách này.

Các bạn có nhiều cách thì cứ comment bên dưới bình luận nhé. Giúp mình trao đỗi thêm nhiều kiến thức mới.

Ok các bạn. Thời gian còn dài và giải thuật còn nhiều. Nên mình từ từ viết. 📢📢📢

  • đếm
  • ký tự
  • chuỗi
  • js

OFFJS.COM - Blog học tập giải trí - 🐲

Chia sẻ nhiều kiến thức thú vị trong lập trình cũng như cuộc sống.

Giới thiệu


Trang web này mình sẽ nói về kiến thức lập trình và cuộc sống mà các bạn mới học hay đang dự định học. Có một bước đi đầu đời vững chắc.

Hồ Quang Trí.jpg

Đi kèm với đó là những lý thuyết và các dòng code minh họa. Để các bạn dễ hình dung.

Đơn nhiên cũng không dễ dàng ngày một ngày hai mà học hết được.

Học Tập Là Một Con Đường Dài Vô Tận

Nó sẽ nuốt các bạn vô số thời gian nhưng bù lại khi đã biết thì mọi thứ thật là tuyệt.

1console.log("Hồ Quang Trí");

Nếu có ai nói bạn học lập trình trong vòng 3 đến 6 tháng thì mình xin nói thật không bao giờ có chuyện đó nhé.

Chúc các bạn thành công.

Chân trang

phone-toan-phat.png

0353210168

address-toan-phat.png

Việt Nam