Bài đăng này sẽ chỉ cho bạn cách đảo ngược một số trong JavaScript. Ví dụ số là 123 thì đổi thành 321
Các chương trình đảo ngược số trong các ngôn ngữ lập trình khác nhau sử dụng cùng một thuật toán. Chúng tôi cũng sẽ sử dụng quy trình tương tự ở đây. Bạn sẽ học cách sử dụng vòng lặp while, cách sử dụng phép toán modulo và tìm giá trị sàn của một số với ví dụ này
Tôi sẽ chỉ cho bạn chương trình JavaScript đơn giản và cách chúng ta có thể sử dụng nó với HTML để lấy giá trị do người dùng nhập vào
Trước khi chuyển sang chương trình, hãy kiểm tra thuật toán
Để đảo ngược một số, chúng ta cần loại bỏ chữ số cuối cùng của số đó và số đó có thể được sử dụng để nối thêm vào bên phải một giá trị mới
Ví dụ: nếu số là 123, trước tiên chúng ta sẽ lấy chữ số cuối cùng i. e. 3 từ nó. Sau đó 2 và cuối cùng là 1. Những con số này sẽ được cộng vào một giá trị cuối cùng để tạo ra số tiến ngược theo yêu cầu 321. Chúng ta có thể sử dụng modulo, % để lấy chữ số cuối cùng. 123%10 cho 3. Sau đó, chúng ta có thể chuyển đổi 123 thành 12 bằng cách lấy giá trị sàn là 123/10. Các bước tương tự có thể được làm theo
Cho nên,
- Chạy một vòng lặp cho đến khi giá trị của số lớn hơn 0. Khởi tạo một biến kết quả là 0
- Trên mỗi bước, sử dụng modulo để tìm chữ số cuối cùng của số
- Nhân kết quả với 10 và thêm chữ số này vào nó. Nó sẽ tiếp tục thêm chữ số vào bên phải của giá trị kết quả
- Chuyển số thành sàn[số/10]. Nó sẽ xóa chữ số cuối cùng của số
Các bước trên sẽ tiếp tục lặp lại cho đến khi số trở thành 0
Dưới đây là chương trình hoàn chỉnh
let rev = 0;
let num = 123456;
let lastDigit;
while[num != 0]{
lastDigit = num % 10;
rev = rev * 10 + lastDigit;
num = Math.floor[num/10];
}
console.log["Reverse number : "+rev];
Đây,
- rev được sử dụng để lưu trữ giá trị đảo ngược. Nó được khởi tạo là 0. num là số đã cho và lastDigit được sử dụng để giữ chữ số cuối cùng
- Vòng lặp while chạy cho đến khi giá trị của num lớn hơn 0. Trong vòng lặp, chúng ta lấy chữ số cuối cùng, thêm nó vào rev làm chữ số cuối cùng và thay đổi số bằng cách xóa chữ số cuối cùng của nó
Nếu bạn chạy chương trình này, nó sẽ in đầu ra bên dưới
Chúng tôi cũng có thể làm điều này chỉ trong một dòng. Chúng ta có thể chuyển đổi số thành chuỗi, tách chuỗi và đặt tất cả các ký tự của chuỗi thành một mảng, đảo ngược mảng, chuyển đổi mảng đó thành chuỗi bằng cách nối tất cả các ký tự và chuỗi đó có thể được chuyển đổi trở lại thành một số
Chúng ta cần sử dụng ba phương pháp ở đây
- split[] để tách các ký tự của chuỗi và thêm chúng vào một mảng
- reverse[] để đảo ngược mảng
- join[] để nối tất cả các ký tự thành một chuỗi
Dưới đây là chương trình hoàn chỉnh
let rev = 0;
let num = 123456;
rev = Number[String[num].split[''].reverse[].join['']];
console.log["Reverse number : "+rev];
Nó sẽ cho một kết quả tương tự
Đảo ngược số đầu vào của người dùng trong HTML
Hãy lấy đầu vào từ người dùng bằng html. Chúng ta có thể gọi JavaScript từ html. Tạo một chỉ mục tệp. html với đoạn mã dưới đây
Nếu bạn mở. html trong trình duyệt web, nó sẽ hỏi số như đầu vào từ người dùng và nếu bạn nhấp vào nút, nó sẽ hiển thị một cảnh báo với số bị đảo ngược
Đây là hướng dẫn về Đảo ngược trong JavaScript. Ở đây chúng tôi thảo luận về logic để tìm ra Đảo ngược trong JavaScript và Đảo ngược một số bằng cách sử dụng vòng lặp While. Bạn cũng có thể xem bài viết sau để tìm hiểu thêm –Thử thách này có vẻ rất giống với đảo ngược chuỗi, nhưng có một phần khó đó là số âm. Vì vậy, để thực hiện thử thách này một cách đơn giản, chúng ta sẽ cần sự trợ giúp của Toán học. sign[] trả về dấu của một số, cho biết số đó là số dương, số âm hay số không
Các bước ở đây là
- Biến số thành chuỗi bằng toString[]
- Đảo ngược chuỗi
- Biến chuỗi đảo ngược trở lại số với dấu đúng trả về từ Toán học. dấu hiệu[]
Trường hợp nhập dương thì không có gì phải bàn, nhưng đối với số âm thì chuỗi ngược lại sẽ có dấu trừ [ — ]. Tuy nhiên, nó sẽ bị loại bỏ khi được phân tích thành một số nguyên. Do đó, nó cần nhiều dấu hiệu được trả về từ Math. dấu hiệu[]
Ví dụ
reverseInt[-61]
reversed = "16-" => parseInt["16-"] = 16
Math.sign[-61] = -1reverseInt[-61] = -16
Trong thử thách này, tôi đã sử dụng cách đơn giản nhất để đảo ngược mảng nhưng hãy nhớ rằng có nhiều cách hơn để thực hiện và tùy vào tình huống mà có thể chọn giải pháp. Nếu bạn muốn biết thêm các cách để đảo ngược chuỗi, bạn có thể xem bài viết đảo ngược chuỗi của tôi
Mục đích của chúng tôi là viết một hàm JavaScript nhận vào một số và trả về số đảo ngược của nó
Ví dụ: đảo ngược của 678 −
876
Đây là mã để đảo ngược một số trong JavaScript –
Ví dụ
const num = 124323; const reverse = [num] => parseInt[String[num] .split[""] .reverse[] .join[""], 10]; console.log[reverse[num]];
đầu ra
Đầu ra trong bảng điều khiển sẽ là -
323421
Giải trình
- Giả sử num = 123
- Chúng tôi chuyển đổi số thành chuỗi → num trở thành '123'
- Chúng tôi tách '123' → nó trở thành ['1', '2', '3']
- Chúng ta đảo ngược mảng → nó trở thành [‘3’, ‘2’, ‘1’]
- Chúng tôi tham gia mảng để tạo thành một chuỗi → nó trở thành '321'
- Cuối cùng, chúng tôi phân tích chuỗi thành Int và trả về → 321