Cách tìm ký tự lặp lại trong chuỗi trong 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
đầ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
ví dụ 2. Kiểm tra sự xuất hiện của một ký tự bằng Regex
đầ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
phiên bản JavaScript
Phiên bản TypeScript
ví dụ Để tìm ký tự trùng lặp từ chuỗi, chúng ta đếm số lần xuất hiện của từng ký tự trong chuỗi. Nếu số lượng lớn hơn 1, điều đó có nghĩa là một ký tự có một mục nhập trùng lặp trong chuỗi. Trong ví dụ trên, các ký tự được tô màu xanh lục là các ký tự trùng lặp Trong bài viết này, chúng ta sẽ tìm hiểu cách kiểm tra xem một chuỗi có bao gồm một chuỗi ký tự lặp lại hay không chỉ bằng cách sử dụng một dòng mã trong JavaScript. Đây là đoạn mã JavaScript một dòng sử dụng một trong những tính năng phổ biến nhất của ES6 => Hãy xác định chức năng ngắn này Một câu hỏi phỏng vấn lập trình rất phổ biến là đưa ra một chuỗi, bạn cần tìm ra các ký tự trùng lặp trong chuỗi. Một chuỗi chỉ là một mảng các ký tự nên chắc chắn chúng ta sẽ nghĩ đến việc giải bài toán bằng các phép toán trên mảng. Một vòng lặp for sẽ lặp qua danh sách các ký tự và chúng ta sẽ so sánh từng ký tự để xem nó có trùng lặp với các ký tự còn lại không. Do đó, chúng ta sẽ cần thực hiện một vòng lặp khác trên các ký tự còn lại… “Nhưng khoan đã”, bạn có thể nói, “Điều này chậm và không lập trình viên thực thụ nào sẽ làm điều này. ” Bạn không hài lòng với giải pháp O(n²) bởi vì bạn là một lập trình viên thực thụ. Hãy sử dụng Hashmap để lưu trữ kết quả. Nó sẽ giống như thế này trong ES6 ________số 8_______Đây chỉ là một ví dụ về giao diện của nó khi sử dụng hàm băm. Có nhiều biến thể của phương pháp này nhưng miễn là bạn sử dụng hàm băm sẽ làm được Ở đây, Tất cả đều tốt. Nhưng nếu bạn không muốn sử dụng Hashmap thì sao? . ”, bạn có thể tranh luận. OK, một lần nữa, là một lập trình viên thực thụ, chúng tôi muốn viết càng ít mã càng tốt để có thời gian làm những thứ thú vị hơn. Chúng ta có lựa chọn nào khác không? Hóa ra chúng ta có một lựa chọn khác. Biểu thức chính quy javascript ở đây để giải cứu. Đây là một giải pháp khác sử dụng biểu thức chính quy function howManyRepeated(str){ Cái quái gì thế? . Chỉ cần một dòng mã là đủ để nhận các ký tự lặp lại. Tuyệt vời, phải không? Nó đi như thế này. Đầu tiên chúng ta biến chuỗi thành một mảng ký tự, sau đó sắp xếp mảng và đặt chúng lại với nhau để tạo thành một chuỗi mới. Chuỗi này được sắp xếp để chúng ta có thể sử dụng biểu thức chính quy để khớp với các ký tự lặp lại. Một ký tự lặp lại được khớp bởi |