Hướng dẫn reverse hello world to world hello in javascript - đảo ngược lời chào thế giới thành lời chào thế giới trong javascript

Giới thiệu

"Làm thế nào để đảo ngược một chuỗi trong JavaScript?" là một trong những câu hỏi phỏng vấn thường gặp nhất, đặc biệt là nếu bạn là một người mới hơn hoặc có rất ít kinh nghiệm. Có khả năng có thể có hàng tá cách chúng ta có thể đảo ngược một chuỗi. Tuy nhiên, trong bài viết này, chúng ta sẽ tìm hiểu ba phương pháp khác nhau để đảo ngược một chuỗi trong JavaScript.

Chuỗi chúng tôi sẽ sử dụng cho bài viết này sẽ là "Hello World!". Tuy nhiên, các phương pháp này hoạt động với bất kỳ chuỗi nào bạn muốn đảo ngược.

  1. const str = 'hello world!';     str = 'hello world!';    

Sử dụng Split, Reverse, tham gia

Trong phương pháp đầu tiên này, chúng tôi sẽ sử dụng các phương thức chia, đảo ngược và tham gia tích hợp của JavaScript để đảo ngược chuỗi.

  1. const str = 'hello world!';   str = 'hello world!';  
  2.   
  3.   
  4. const strChunks = str.split[""];   strChunks = str.split[""];  
  5. console.log[strChunks];     
  6.   
  7.   
  8. const strChunksReverse = strChunks.reverse[];   strChunksReverse = strChunks.reverse[];  
  9. console.log[strChunksReverse];     
  10.   
  11.   
  12. const strReverse = strChunksReverse.join[""];   strReverse = strChunksReverse.join[""];  
  13. console.log[strReverse];     

Như bạn có thể thấy trong mã trên, trong bước đầu tiên, chúng tôi sẽ chia chuỗi "Hello World" thành một mảng bằng phương thức phân chia với mỗi phần tử của mảng đại diện cho một ký tự duy nhất của chuỗi. Tham số được truyền đến phương thức phân chia là một chuỗi trống không có khoảng trắng trong đó. Trong bước tiếp theo, chúng tôi sẽ đảo ngược mảng đó bằng phương thức đảo ngược gốc của JavaScript để đảo ngược các phần tử trong mảng. Và trong bước cuối cùng, chúng tôi tham gia các phần tử mảng, tức là các ký tự của chuỗi bằng phương thức tham gia.

Thay vì viết từng thao tác trong một câu lệnh riêng biệt, chúng tôi có thể chuỗi các phương thức và thực hiện tất cả các hoạt động trong một dòng.

  1. const str = 'hello world!';   str = 'hello world!';  
  2. const strReverse = str.split[''].reverse[].join[''];   strReverse = str.split[''].reverse[].join[''];  
  3. console.log[strReverse];     

Đoạn mã trên sẽ tạo ra đầu ra giống như khối mã trước đó.

Sử dụng cho vòng lặp

Tiếp theo, chúng tôi sẽ sử dụng một vòng lặp đơn giản để đảo ngược chuỗi. & NBSP;

  1. const str = "hello world!";     str = "hello world!";    
  2. let strReverse = "";    "";    
  3.     
  4. for & nbsp; [hãy để i & nbsp; = & nbsp; str.length-1; & nbsp; i & nbsp;> = & nbsp; 0; & nbsp; i-] & nbsp; {& nbsp; & nbsp; & nbsp; & nbsp; [let i = str.length - 1; i >= 0; i--] {    
  5.     strReverse = strReverse + str[i];    
  6. }    
  7.     
  8. console.log[strReverse];    
  9.   

Như bạn có thể thấy trong đoạn mã trên, chúng tôi đang tạo một streverse biến có chứa một chuỗi trống [không có khoảng trắng trong đó]. Điều tiếp theo chúng tôi đang làm là chúng tôi đang lặp qua chuỗi cần được đảo ngược bằng cách sử dụng vòng lặp. Giá trị ban đầu của I trong vòng lặp là str.length - 1 tức là chỉ số của ký tự dấu chấm than. Sau mỗi lần giao thoa, chúng tôi sẽ giảm giá trị của i. Vòng lặp sẽ tiếp tục cho đến khi nó đạt đến ký tự đầu tiên của chuỗi, tức là h từ từ xin chào. Trong mỗi lần lặp, chúng tôi kết nối ký tự với biến strreverse.

Sử dụng đệ quy

Và cuối cùng nhưng không kém phần quan trọng, chúng ta sẽ thấy làm thế nào chúng ta có thể đảo ngược một chuỗi bằng cách sử dụng đệ quy. Việc đệ quy chỉ đơn giản là một quá trình trong đó một hàm tự gọi trực tiếp hoặc gián tiếp.

  1. const message = "hello world!";   message = "hello world!";  

  2. function reverse[value] {     reverse[value] {    
  3.   return value === '' ? '' : reverse[value.slice[1]] + value.charAt[0];    return value === '' ? '' : reverse[value.slice[1]] + value.charAt[0];    
  4. };  
  5.   
  6. console.log[reverse[message]];  reverse[message]];  
  7.   

Điều đầu tiên hàm trên làm là kiểm tra xem chuỗi được truyền cho nó dưới dạng tham số trống. Nếu có, nó sẽ chỉ cần trả lại một chuỗi trống. Nếu điều kiện là sai & nbsp; Nó sẽ chỉ đơn giản gọi chính nó và vượt qua giá trị chuỗi một lần nữa nhưng lần này nó sẽ xóa ký tự đầu tiên và vượt qua phần còn lại của chuỗi, thêm ký tự đầu tiên ở cuối câu lệnh trả về.

Hãy hiểu điều này bằng cách sử dụng một ví dụ dễ dàng hơn. Hãy nói rằng chúng tôi sẽ chuyển chuỗi 'ABC' cho chức năng:

  1. console.log[reverse['abc']];    'abc']];    

Mã trên sẽ gọi hàm đảo ngược bốn lần. Lần đầu tiên chúng tôi gọi nó theo cách thủ công và 3 lần nó sẽ tự gọi mình với đệ quy.

  • Lần đầu tiên: Đảo ngược ['ABC'] sẽ trả về đảo ngược ['BC'] + 'A'
  • Lần thứ hai: Đảo ngược ['BC'] sẽ trả về ngược ['C'] + 'BA'
  • Lần thứ ba: Đảo ngược ['C'] sẽ trả về đảo ngược đảo ngược [''] + 'CBA'
  • Lần thứ tư: đảo ngược [''] sẽ trả về một chuỗi trống chấm dứt quá trình & nbsp; đệ quy.

Và đó là nó! & NBSP;

Tôi hy vọng bạn thích bài viết này.Trong trường hợp bạn có bất kỳ truy vấn hoặc phản hồi nào, vui lòng bỏ một tin nhắn trong phần bình luận.

Bài Viết Liên Quan

Chủ Đề