Đảo ngược chuỗi sử dụng đệ quy javascript
Viết, Chạy & Chia sẻ mã Javascript trực tuyến bằng trình biên dịch trực tuyến JS của OneCompiler miễn phí. Đây là một trong những trình biên dịch trực tuyến mạnh mẽ, giàu tính năng dành cho ngôn ngữ Javascript. Bắt đầu với trình soạn thảo Javascript của OneCompiler thật dễ dàng và nhanh chóng. Trình chỉnh sửa hiển thị mã soạn sẵn mẫu khi bạn chọn ngôn ngữ là Javascript và bắt đầu viết mã Show
Javascript (JS) là ngôn ngữ lập trình hướng đối tượng tuân theo Tiêu chuẩn tập lệnh ECMA. Javascript là cần thiết để thiết kế hành vi của các trang web
sự định nghĩa biếnKeywordDescriptionScopevarVar dùng để khai báo biến (cách khai báo biến cũ) Hàm hoặc scopeletlet toàn cục cũng dùng để khai báo biến (cách mới) Scopeconst toàn cục hoặc khối dùng để khai báo giá trị const. Sau khi giá trị được gán, nó không thể được sửa đổi Phạm vi toàn cầu hoặc khốiBacktick Chuỗinội suy
Chuỗi nhiều dòng
MảngMột mảng là một tập hợp các mục hoặc giá trị cú pháp
Ví dụ
chức năng mũi tênArrow Functions giúp các nhà phát triển viết mã một cách ngắn gọn, được giới thiệu trong ES6. cú pháp
Ví dụ
hủy cấu trúcMảng
Các đối tượng
còn lại(. ) nhà điều hành________số 8Truyền đi(. ) nhà điều hành
Chức năng 0vòng lặp1. NếuIF được sử dụng để thực thi một khối mã dựa trên một điều kiện cú pháp 12. Nếu khácPhần khác được sử dụng để thực thi khối mã khi điều kiện không thành công cú pháp 23. Công tắc điệnSwitch được sử dụng để thay thế các câu lệnh If-Else lồng nhau cú pháp 34. VìVòng lặp for được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện 45. Trong khiWhile cũng được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện. Thông thường, while được ưu tiên khi không biết trước số lần lặp 56. Làm trong khiDo-while cũng được sử dụng để lặp lại một tập hợp các câu lệnh dựa trên một điều kiện. Nó chủ yếu được sử dụng khi bạn cần thực hiện các câu lệnh ít nhất một lần 6Các lớp họcES6 đã giới thiệu các lớp cùng với các khái niệm OOPS trong JS. Lớp tương tự như một chức năng mà bạn có thể nghĩ giống như một loại khuôn mẫu sẽ được gọi khi bạn khởi tạo lớp Đảo ngược một chuỗi không phải là hiếm trong quá trình phát triển và khá phổ biến đối với các câu hỏi phỏng vấn cấp đầu vào. Với JavaScript, chúng ta có nhiều cách để đảo ngược một chuỗi. Chúng ta có thể sử dụng kết hợp các phương thức chuỗi _______ 60 cũng như các phương thức mảng _______ 61 và 2 (vì cuối cùng các chuỗi là các mảng ký tự)Chúng ta cũng có thể đảo ngược một chuỗi bằng các hàm lặp (vòng lặp) hoặc hàm đệ quy của riêng mình
Sử dụng các phương thức tích hợp để đảo ngược chuỗi - split(), reverse() và join()Cách đơn giản nhất để đảo ngược một chuỗi trong JavaScript là tách một chuỗi thành một mảng, 1 nó và 2 nó trở lại thành một chuỗi. Với ES6, điều này có thể được rút ngắn và đơn giản hóa thànhỞ đây, Cú pháp trải rộng được sử dụng để phân tách chuỗi thành một mảng và có chức năng tương đương với phương thức 0 mà bạn cũng có thể sử dụng thay thếĐể hiểu tại sao tất cả chúng hoạt động cùng nhau, hãy xem tổng quan về chức năng của từng chức năng tách ra()Phương thức 0 trả về một mảng chuỗi mới sau khi tách một chuỗi bằng dấu tách được cung cấp 7 84 xác định nơi chuỗi phân tách thành một phần tử trong mảng kết quả. Chúng ta có thể xác định số lượng phần tử mảng với tham số 85. Khi chúng ta sử dụng phương thức 0 với chuỗi rỗng, 87, chuỗi sẽ được chia theo từng ký tự. Nó sẽ hữu ích khi chúng ta chuyển đổi chuỗi của mình thành một mảng các ký tự riêng lẻMột lần nữa, bạn có thể sử dụng toán tử trải rộng để đạt được kết quả tương tự. Toán tử trải rộng là một toán tử JavaScript hoạt động trên các lần lặp như mảng, chuỗi và đối tượng. Chúng ta có thể sao chép và nối các đối tượng và mảng bằng toán tử trải rộng Khi toán tử trải rộng được sử dụng với một chuỗi, chuỗi đó được chuyển đổi thành một chuỗi ký tự Ghi chú. Trong khi tách các ký tự UTF-16, hãy sử dụng toán tử trải rộng thay vì phương thức 0đảo ngược() 1 trả về một mảng bị đảo ngược, tại chỗ. Điều đó có nghĩa là - kết quả là mảng ban đầu bị đảo ngược thay vì một bản saoTuy nhiên, bạn không cần gán kết quả cho một biến mới, chúng tôi thường làm để thay đổi tên biến thành một tên mang tính biểu thị hơn tham gia()Phương thức 2 nối các phần tử của một mảng và trả về một chuỗi. Chúng tôi cũng có thể chỉ định một 84, là tùy chọn, để nối các phần tử. Khi chúng ta sử dụng dấu phân cách mặc định, các phần tử sẽ được phân tách bằng dấu phẩy trong chuỗi. Sử dụng một chuỗi rỗng làm dấu phân cách sẽ nối các phần tử mảng và trả về dưới dạng một chuỗi như bình thườngKết hợp các phương thức tích hợp để đảo ngược chuỗiVới tất cả những điều đó trong tâm trí - cách những thứ này hoạt động cùng nhau trở nên trực quan Hoặc, bạn có thể rút ngắn nó xuống Đoạn mã trên dẫn đến 8Sử dụng vòng lặp for để đảo ngược chuỗiVới vòng lặp for, chúng ta có thể lặp qua từng ký tự trong chuỗi. Bắt đầu từ cuối chuỗi đến đầu chuỗi - chúng ta có thể liên tục nối các ký tự vào một chuỗi mới và do đó tạo thành một chuỗi đảo ngược 3Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó Ở đây, chúng tôi đã tạo một chuỗi rỗng, 32, để giữ chuỗi bị đảo ngược. Chỉ số chuỗi giống như chỉ số mảng, chúng bắt đầu từ 0. Do đó, chúng tôi bắt đầu vòng lặp từ một vòng nhỏ hơn độ dài của chuỗi (nhặt ký tự 33) và lặp cho đến khi bộ đếm của chúng tôi về 0 (với ký tự 34)Biến 32 nối các phần tử của chuỗiChạy mã cho chúng tôi đầu ra này 8Sử dụng đệ quy để đảo ngược chuỗiĐệ quy là một quá trình mà một hàm gọi chính nó. Tuy nhiên, một chức năng gọi chính nó có thể kết thúc việc gọi chính nó vô tận và quá trình sẽ không bao giờ kết thúc nếu không có điều kiện thoát. Do đó, chúng tôi cung cấp một điều kiện, cụ thể là điều kiện cơ sở, để kết thúc hành vi đệ quy của hàm Chúng ta có thể sử dụng đệ quy để giải quyết các vấn đề bằng cách viết rất ít dòng mã mà không gặp rắc rối khi lặp lại. Tuy nhiên, quá trình này có thể chậm nếu độ sâu đệ quy cao Cú pháp của một hàm đệ quy chung trông như thế này 9Khi hàm 36 được gọi, trước tiên, hàm này sẽ kiểm tra một số điều kiện và nếu được đánh giá là 37 - hàm sẽ tự gọi. Quá trình này sau đó được lặp lại, một lần nữa và một lần nữa. Khi điều kiện không thành công, đệ quy bị dừng và hàm trả về một giá trị
Phương thức 38 trích xuất một phần của chuỗi. Chúng ta có thể chuyển các chỉ số bắt đầu và kết thúc trong phương thức dưới dạng tham số. Nếu chỉ chỉ mục bắt đầu được cung cấp cho phương thức - nó sẽ trích xuất chuỗi từ chỉ mục đó cho đến chỉ mục cuối cùngTuy nhiên, khi chúng tôi cung cấp cả chỉ mục bắt đầu và chỉ mục kết thúc, nó sẽ trích xuất chuỗi từ chỉ mục bắt đầu nhưng không bao gồm chỉ mục kết thúc Phương thức 39 trích xuất ký tự được lập chỉ mục từ một chuỗi. Nó trả về một chuỗi mới bao gồm ký tự. Một ví dụ về phương pháp được hiển thị dưới đâyĐối với hàm đệ quy của chúng tôi - trước tiên chúng tôi kiểm tra xem chuỗi có trống làm điều kiện cơ sở không. Sau một loạt các cuộc gọi đệ quy, chuỗi sẽ trở nên trống rỗng và quá trình đệ quy sẽ kết thúc. Bên trong hàm 1, hàm đệ quy 1 được cung cấp 84 làm tham số của nóPhương thức 39 được nối với hàm 1 trong câu lệnh return 8Trong lần gọi đệ quy đầu tiên, 87 sẽ cho kết quả là 88. Trong lần gọi thứ hai, 89 sẽ cho kết quả là 90. Tương tự như vậy, lời gọi đệ quy cuối cùng, 91 sẽ trả về một 92Bây giờ việc thực thi phần 93 đã kết thúc và đệ quy sẽ quay trở lại độ sâu của nó. Ở lần gọi cuối cùng, chuỗi 33 được thêm vào 95, kết quả là chuỗi 33Tiếp theo, lệnh gọi hàm di chuyển lên trên một bước khi chuỗi 97 được thêm vào 98. Nó làm cho chuỗi 99. Tương tự như vậy, 80 được thêm vào với 99 và nó trở thành 82. Tương tự, độ sâu đệ quy được duyệt lên trên và cuối cùng nó trả về chuỗi 83 8Phần kết luậnTrong bài viết này, chúng tôi đã thảo luận về cách đảo ngược một chuỗi. Chúng tôi đã sử dụng các phương thức tích hợp sẵn 0, 1 và 2, toán tử trải rộng, tạo vòng lặp 87 để tạo chuỗi đảo ngược mới và hàm đệ quy sử dụng 38 và 39, tất cả đều tạo ra kết quả giống nhau
Có thể đảo ngược một chuỗi đã cho bằng cách sử dụng đệ quy không?Giải thích. Hàm đệ quy (đảo ngược) lấy con trỏ chuỗi (str) làm đầu vào và gọi chính nó với vị trí tiếp theo tới con trỏ đã truyền (str+1) . Đệ quy tiếp tục theo cách này khi con trỏ đến '\ 0', tất cả các hàm được tích lũy trong ngăn xếp in ký tự tại vị trí đã truyền (str) và trả về từng cái một.
Làm cách nào để đảo ngược từng từ của chuỗi trong JavaScript?Đảo ngược mọi từ trong một chuỗi . hãy đảo ngượcWordArr = str. tách ra(" ") bản đồ (từ => từ. tách ra(""). đảo ngược(). tham gia("")); hãy đảo ngượcWordArr = str. tách ra(" "). bản đồ (từ => từ. tách ra(""). đảo ngược(). tham gia("")); trả về đảo ngượcWordArr. tham gia(" "); Làm cách nào để đảo ngược một mảng bằng đệ quy trong JavaScript?Đây là phương trình đệ quy. reverseArray(inputArray, i, j) = reverseArray(inputArray, i+1, j-1) + hoán đổi(inputArray[i], inputArray[j]). Recursion will terminate when leftIndex >= rightIndex. |