Làm cách nào để đảo ngược một số trong JavaScript bằng vòng lặp?

JavaScript. Đảo ngược một sốCập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21. 51. 54 (UTC/GMT +8 giờ)

Hàm JavaScript. Bài tập-1 với lời giải

Viết hàm JavaScript đảo ngược một số
Dữ liệu mẫu và đầu ra
Ví dụ x = 32243;
Sản lượng dự kiến. 34223

Trình bày bằng hình ảnh

Làm cách nào để đảo ngược một số trong JavaScript bằng vòng lặp?

Giải pháp mẫu

Mã HTML





Reverse a number


  



Mã JavaScript

function reverse_a_number(n)
{
	n = n + "";
	return n.split("").reverse().join("");
}
console.log(Number(reverse_a_number(32243)));

Đầu ra mẫu

34223

Giải trình
Giả sử n = 1000
Chuyển đổi một số thành một chuỗi
Mã số. -> n = n + "";
Ghi chú. Có nhiều cách khác nhau để chuyển đổi số thành chuỗi

  • Chuỗi ký tự -> str = "" + num + "";
  • Hàm tạo chuỗi -> str = String(num);
  • toString -> str = num. toString();
  • Chuỗi ký tự đơn giản -> str = "" + num;

Phương thức split() được sử dụng để chia một đối tượng Chuỗi thành một mảng các chuỗi bằng cách tách chuỗi thành các chuỗi con
Mã số. bảng điều khiển. nhật ký ('1000'. tách ra(""));
đầu ra. ["1", "0", "0", "0"]

Phương thức reverse() được sử dụng để đảo ngược một mảng tại chỗ. Phần tử mảng đầu tiên trở thành phần tử cuối cùng và phần tử cuối cùng trở thành phần tử đầu tiên
Mã số. bảng điều khiển. log(["1", "0", "0", "0"]. đảo ngược());
đầu ra. ["0", "0", "0", "1"]

Phương thức join() dùng để nối tất cả các phần tử của mảng thành một chuỗi
Mã số. bảng điều khiển. log(["1", "0", "0", "0"]. đảo ngược(). tham gia(""));
Hàm tạo Number chứa các hằng số và phương thức để làm việc với các số. Giá trị của các loại khác có thể được chuyển đổi thành số bằng cách sử dụng hàm Number()
đầu ra. 1

Sơ đồ

Làm cách nào để đảo ngược một số trong JavaScript bằng vòng lặp?

Bản thử trực tiếp

Xem Pen JavaScript -Reverse a number-function-ex- 1 của w3resource (@w3resource) trên CodePen


Cải thiện giải pháp mẫu này và đăng mã của bạn qua Disqus

Trước. Viết chương trình JavaScript để tìm số nguyên tố nhỏ nhất lớn hơn một số đã cho
Kế tiếp. Viết hàm JavaScript kiểm tra xem một chuỗi đã truyền có phải là palindrome hay không?

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Theo dõi chúng tôi trên FacebookTwitter để cập nhật thông tin mới nhất.

JavaScript. Lời khuyên trong ngày

Kiểm tra xem Chuỗi có bắt đầu bằng Chuỗi đã cho không

Các chuỗi JavaScript có phương thức startedWith để kiểm tra xem một chuỗi có bắt đầu bằng một chuỗi đã cho hay không
Chúng ta có thể gọi nó bằng cách sử dụng

'jane, joe and alex'.startsWith('jane')

Sau đó, nó sẽ trở lại đúng
Nó cũng nhận một đối số thứ hai, cho phép chúng ta chỉ định chỉ mục của ký tự mà chúng ta muốn bắt đầu kiểm tra.
Chẳng hạn, chúng ta có thể viết

'jane, joe and alex'.startsWith('jane', 8)

Sau đó, startedWith bắt đầu tìm kiếm ở chỉ mục 8, vì vậy nó trả về false

Giới thiệu. https. //chút. ly/3mp5NgH

 



  • Xu hướng hàng tuần
  • Bài tập lập trình Java cơ bản
  • Truy vấn con SQL
  • Bài tập cơ sở dữ liệu Adventureworks
  • Bài tập cơ bản C# Sharp
  • SQL COUNT() với sự khác biệt
  • Bài tập chuỗi JavaScript
  • Xác thực biểu mẫu HTML JavaScript
  • Bài tập bộ sưu tập Java
  • hàm SQL COUNT()
  • Tham gia bên trong SQL
  • Hàm JavaScript Bài tập
  • Hướng dẫn Python
  • Bài tập mảng Python
  • Tham gia chéo SQL
  • Bài tập về mảng Sharp trong C#


Gần đây tôi đã có một cuộc phỏng vấn và được yêu cầu tạo một hàm JavaScript có thể đảo ngược một số (tôi. e. , đưa ra 123, kết quả là 321). Điều này khá đơn giản đối với tôi, vì vậy tôi đã trả lời "chuyển đổi số thành string và đảo ngược các chữ số". Thật không may, đây không phải là câu trả lời mà họ đang tìm kiếm. Họ muốn một giải pháp không sử dụng bất kỳ chuyển đổi string hoặc (string) nào (họ muốn tôi phát minh ra bánh xe)

Lý lịch

Tại chỗ trong một cuộc phỏng vấn, tôi đã thấy một số đối xứng đẹp mắt trong giải pháp đảo ngược một số. Tôi biết ngay điều này sẽ liên quan đến toán tử mod (%) và một số vòng lặp

Sử dụng mã

Giải pháp này có thể được sử dụng trong lập trình phía máy khách để đảo ngược một số

JavaScript



// Here's a simple way to test the function:


'text' id='string'/> 'button' value='text' 
 onclick='alert("reversed = " + Reverse(document.getElementById("string").value);'/>
body>

Hàm nhỏ này có một vòng lặp đơn giản thực thi cho đến khi tham số đến (số) trở thành số không. Lưu ý sự đối xứng giữa "number" và "reversed", bên trong vòng lặp. Giá trị của "reversed" (kết quả) bắt đầu từ 0 và tiếp tục được nhân với

Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}
1 và sau đó tăng lên bởi number mod
Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}
1. "_______20_______" (giá trị đầu vào) tiếp tục giảm xuống theo phương thức number
Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}
1 và sau đó được chia cho
Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}
1

Một thành viên đã trả lời mẹo của chúng tôi khi hỏi "còn việc đảo ngược

Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}
8 thành
Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}
9 thì sao"? . Đây là giải pháp của tôi

JavaScript

Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}

Đoạn mã này cho thấy cách chúng tôi có thể đầu tiên. điều chỉnh số (dấu phẩy động) để biến nó thành một giá trị số nguyên, sau đó thực hiện theo quy trình vòng lặp giống như trong đoạn mã trước và điều chỉnh lần cuối kết quả bị đảo ngược cho số thập phân. Chúng tôi sử dụng 1230 với cơ số

Reverse = function(number) {
 var reversed = 0;  
 var exponent = number.indexOf('.');

 if (exponent !== -1) {
  number *= Math.pow(10, number.length - exponent - 1);
 }

 while (number != 0) {
   reversed *= 10;
   reversed += number % 10;
   number -= number % 10;
   number /= 10;
 }

 if (exponent !== -1) {
  reversed /= Math.pow(10, exponent);
 }

 return reversed;
}
1 và một số mũ để thực hiện điều này

Điểm quan tâm

Tôi không biết tại sao lại cần phải đảo ngược một số nhưng đây là một bài toán thú vị để giải. Hy vọng bài viết này thu hút sự quan tâm của bạn đối với lập trình phía máy khách và giúp bạn suy nghĩ về các giải pháp tinh tế hơn

Lịch sử

Đây là bản sửa đổi ban đầu

Giấy phép

Bài viết này, cùng với bất kỳ mã nguồn và tệp liên quan nào, được cấp phép theo Giấy phép Mở Dự án Mã (CPOL)


Làm cách nào để đảo ngược một số trong JavaScript bằng vòng lặp?

Được viết bởi

nhà phát triển tuyệt vời

Làm cách nào để đảo ngược một số trong JavaScript bằng vòng lặp?
Hoa Kỳ

Thành viên này chưa cung cấp Tiểu sử. Giả sử nó thú vị và đa dạng, và có lẽ là một cái gì đó liên quan đến lập trình