Hướng dẫn how do you reverse a value in javascript? - làm thế nào để bạn đảo ngược một giá trị trong javascript?

bởi nghệ thuật

Các ví dụ sử dụng hàm mũi tên và hàm JS thông thường

Ảnh của Chuttersnap trên unplash

Đảo ngược một chuỗi hoặc đảo ngược một số là một trong những câu hỏi phổ biến được hỏi tại các cuộc phỏng vấn lập trình. Hãy cùng xem cách thực hiện điều này.

Rules/Limitations::

  • Số âm nên vẫn âm.

Ví dụ.

// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
0becomes
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
1
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
0becomes
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
1

  • Bất kỳ số 0 hàng đầu nên được loại bỏ.

Ví dụ.

// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
2 trở thành
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
3 & không
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
4
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
2 becomes
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
3 & not
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
4

  • Hàm có thể chấp nhận phao hoặc số nguyên.

Ví dụ.

// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
5 trở thành
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
6
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
5 becomes
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
6

  • Hàm sẽ trả về số nguyên như số nguyên.

Ví dụ.

// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
7 trở thành
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
8 & không
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
9
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
7 becomes
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
8 & not
// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
9

Giải quyết bằng hàm mũi tên:

const reversedNum = num => parseFloat[num.toString[].split[''].reverse[].join['']] * Math.sign[num]

Giải quyết với một chức năng thông thường:

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}

Sự khác biệt giữa hàm mũi tên & chức năng chính quy:

Trong ví dụ này, sự khác biệt duy nhất giữa hàm mũi tên và hàm chính quy là chức năng chính quy cần cung cấp giá trị

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
0 rõ ràng.

Các hàm mũi tên có giá trị

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
0 ngầm - nếu chúng có thể được viết trong một dòng, mà không cần niềng răng ____.

Hãy để phá vỡ các bước xuống:

  • Chuyển đổi số thành chuỗi

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
3 Chuyển đổi số đã cho thành một chuỗi. Chúng tôi làm điều này để chúng tôi có thể sử dụng chức năng
// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
4 trên nó tiếp theo.

let num = -5432100
num.toString[]

// num = '-5432100'
  • Chia chuỗi thành một mảng

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
5 Chuyển đổi chuỗi thành một mảng các ký tự. Chúng tôi làm điều này để chúng tôi có thể sử dụng hàm đảo ngược mảng [không hoạt động trên một chuỗi].

// num = '-5432100'

num.split['']

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]
  • Đảo ngược mảng

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
6 đảo ngược thứ tự của các mục trong mảng.

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
  • Tham gia lại vào một chuỗi

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
7 Lắp lại các ký tự đảo ngược thành một chuỗi.

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
  • Phân tích giá trị đầu vào vào số điểm nổi: the input value into a floating point number:

// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
8 Chuyển đổi
// num = [ '-', '5', '4', '3', '2', '1', '0', '0' ]

num.reverse[]

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]
9 thành một chiếc phao từ một chuỗi.

// num = '0012345-'

parseFloat[num]

// num = 12345

Lưu ý: Cuối cùng, ____ 50run [mặc dù nó nằm trên dòng đầu tiên của hàm] trên số đảo ngược và loại bỏ bất kỳ số 0 hàng đầu.:

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
0runs in the end [even though it is on the first line of the function] on the reversed number and removes any leading zeroes.

  • Nhân nó với dấu hiệu của số gốc - để duy trì giá trị âm.

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
1 nhân số với dấu hiệu của số ban đầu được cung cấp.

// original value of num = -5432100
// num = 12345

num * Math.sign[-5432100]

// num = -12345

Và bạn có nó rồi đấy!

Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

15

Đã trả lời ngày 4 tháng 1 lúc 10:10
Learn more.

Giải pháp của tôi để đảo ngược một chuỗi:

Đã trả lời ngày 29 tháng 6 năm 2018 lúc 16:23

Làm cách nào để đảo ngược một số trong JavaScript?Jun 27, 2016 at 12:14

3

JavaScript: Đảo ngược một số.

function flipInt[n]{
    var digit, result = 0

    while[ n ]{
        digit = n % 10  //  Get right-most digit. Ex. 123/10 → 12.3 → 3
        result = [result * 10] + digit  //  Ex. 123 → 1230 + 4 → 1234
        n = n/10|0  //  Remove right-most digit. Ex. 123 → 12.3 → 12
    }  
  
    return result
}


// Usage: 
alert[
  "Reversed number: " + flipInt[ +prompt["Enter a value"] ] 
]

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

Giải pháp mẫu:.MUCH FASTER than other methods which convert the number to an Array and then reverse it and join it again. This is a low-level blazing-fast solution.

Mã HTML:

Vlaz

24.3k9 Huy hiệu vàng45 Huy hiệu bạc61 Huy hiệu Đồng9 gold badges45 silver badges61 bronze badges

Đã trả lời ngày 18 tháng 8 năm 2020 lúc 19:27Sep 17, 2018 at 11:05

5

Đã trả lời ngày 19 tháng 6 năm 2021 lúc 4:46

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
0

Đã trả lời ngày 16 tháng 7 lúc 14:50

Shiroshiro54 gold badges287 silver badges371 bronze badges

1291 Huy hiệu bạc13 Huy hiệu đồngJun 27, 2016 at 12:20

Arg0nArg0nArg0n

Ngọt ngào và đơn giản:2 gold badges20 silver badges35 bronze badges

4

Gần đây tôi đã được hỏi làm thế nào để giải quyết vấn đề này và đây là giải pháp ban đầu của tôi:

Đầu ra mong muốn: 123 => 321, -15 => -51, 500 => 5 123 => 321, -15 => -51, 500 => 5

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
1

Một giải pháp tốt hơn:

Sau khi tôi cho nó thêm một số suy nghĩ, tôi đã đưa ra những điều sau đây:

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
2

Lưu ý: Giải pháp thứ 2 đơn giản hơn nhiều, IMHO

Đã trả lời ngày 31 tháng 1 năm 2020 lúc 18:00Jan 31, 2020 at 18:00

Dzenis H.Dzenis H.Dzenis H.

6.5503 huy hiệu vàng22 Huy hiệu bạc42 Huy hiệu đồng3 gold badges22 silver badges42 bronze badges

1

Đây là giải pháp của tôi, JS thuần túy không có chức năng được xác định trước.

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
3

Vlaz

24.3k9 Huy hiệu vàng45 Huy hiệu bạc61 Huy hiệu Đồng9 gold badges45 silver badges61 bronze badges

Đã trả lời ngày 5 tháng 4 năm 2021 lúc 21:15Apr 5, 2021 at 21:15

1

Đầu tiên, tôi không nghĩ rằng bạn đang sử dụng một mảng để lưu trữ số. Bạn đang sử dụng một biến tập lệnh Java.

Hãy thử mã này và xem nó có hoạt động không.

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
4

Đã trả lời ngày 27 tháng 6 năm 2016 lúc 12:40Jun 27, 2016 at 12:40

Aditya Guptaaditya GuptaAditya Gupta

6031 Huy hiệu vàng4 Huy hiệu bạc11 Huy hiệu đồng1 gold badge4 silver badges11 bronze badges

Hoặc, như một lớp lót [

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
2 chứa số nguyên bị đảo ngược]:

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
5

Số sẽ được tách thành các chữ số riêng lẻ của nó, đảo ngược và sau đó lắp lại lại thành một chuỗi.

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
3 sau đó chuyển đổi nó thành một số một lần nữa.

Đã trả lời ngày 29 tháng 6 năm 2018 lúc 16:34Jun 29, 2018 at 16:34

Carsten Massmanncarsten MassmannCarsten Massmann

23.4K2 Huy hiệu vàng22 Huy hiệu bạc42 Huy hiệu đồng2 gold badges22 silver badges42 bronze badges

2

Giải trình

Sử dụng phương thức mảng JavaScript

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
4, bạn có thể đảo ngược thứ tự của các phần tử mảng.

Mã số

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
6

Đã trả lời ngày 27 tháng 6 năm 2016 lúc 13:25Jun 27, 2016 at 13:25

Giả sử bạn có thể muốn đảo ngược nó dưới dạng một số thực và không phải là một chuỗi thử như sau:

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
7

Đã trả lời ngày 23 tháng 9 năm 2018 lúc 20:24Sep 23, 2018 at 20:24

JamarjamarJamar

12 huy hiệu đồng2 bronze badges

Sử dụng javascript lartic [] và math.sign [] Bạn có thể đảo ngược một số cả số dương và số âm.

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
8

Đã trả lời ngày 1 tháng 9 năm 2019 lúc 4:17Sep 1, 2019 at 4:17

function reversedNum[num] {
  return [
    parseFloat[
      num
        .toString[]
        .split['']
        .reverse[]
        .join['']
    ] * Math.sign[num]
  ]                 
}
9

Đã trả lời ngày 19 tháng 1 năm 2021 lúc 19:13Jan 19, 2021 at 19:13

1

Đảo ngược một số mà không chuyển đổi nó thành chuỗi bằng cách sử dụng phương pháp đệ quy.

let num = -5432100
num.toString[]

// num = '-5432100'
0

Đã trả lời ngày 6 tháng 6 năm 2021 lúc 20:03Jun 6, 2021 at 20:03

Giải pháp đơn giản nhất là đảo ngược bất kỳ số nguyên nào trong JS. Không hoạt động với phao.

let num = -5432100
num.toString[]

// num = '-5432100'
1

Eric Aya

69.1K34 Huy hiệu vàng176 Huy hiệu bạc247 Huy hiệu đồng34 gold badges176 silver badges247 bronze badges

Đã trả lời ngày 9 tháng 11 năm 2021 lúc 9:29Nov 9, 2021 at 9:29

Áp dụng logic của số đảo ngược trong giấy và thử, và bạn phải quan tâm đến việc phân chia vì nó cho các giá trị nổi. Đó là lý do tại sao chúng ta phải sử dụng

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
5.

let num = -5432100
num.toString[]

// num = '-5432100'
2
let num = -5432100
num.toString[]

// num = '-5432100'
3

Vlaz

24.3k9 Huy hiệu vàng45 Huy hiệu bạc61 Huy hiệu Đồng9 gold badges45 silver badges61 bronze badges

Đã trả lời ngày 5 tháng 4 năm 2021 lúc 21:15Aug 18, 2020 at 19:27

let num = -5432100
num.toString[]

// num = '-5432100'
4

Vlaz

24.3k9 Huy hiệu vàng45 Huy hiệu bạc61 Huy hiệu Đồng9 gold badges45 silver badges61 bronze badges

Đã trả lời ngày 5 tháng 4 năm 2021 lúc 21:15Jun 19, 2021 at 4:46

let num = -5432100
num.toString[]

// num = '-5432100'
5

Đầu tiên, tôi không nghĩ rằng bạn đang sử dụng một mảng để lưu trữ số. Bạn đang sử dụng một biến tập lệnh Java.Jul 16 at 14:50

Hãy thử mã này và xem nó có hoạt động không.shiro

Đã trả lời ngày 27 tháng 6 năm 2016 lúc 12:401 silver badge13 bronze badges

Aditya Guptaaditya Gupta

let num = -5432100
num.toString[]

// num = '-5432100'
6

6031 Huy hiệu vàng4 Huy hiệu bạc11 Huy hiệu đồng

Hoặc, như một lớp lót [

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
2 chứa số nguyên bị đảo ngược]:7 gold badges22 silver badges49 bronze badges

Số sẽ được tách thành các chữ số riêng lẻ của nó, đảo ngược và sau đó lắp lại lại thành một chuỗi.

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
3 sau đó chuyển đổi nó thành một số một lần nữa.Feb 14, 2021 at 12:24

1

Đã trả lời ngày 29 tháng 6 năm 2018 lúc 16:34

let num = -5432100
num.toString[]

// num = '-5432100'
7

Carsten Massmanncarsten Massmann

23.4K2 Huy hiệu vàng22 Huy hiệu bạc42 Huy hiệu đồng4 gold badges47 silver badges67 bronze badges

Giải trìnhMar 24, 2021 at 23:30

Sử dụng phương thức mảng JavaScript

// num = [ '0', '0', '1', '2', '3', '4', '5', '-' ]

num.join['']

// num = '0012345-'
4, bạn có thể đảo ngược thứ tự của các phần tử mảng.

  1. Mã số
  2. Đã trả lời ngày 27 tháng 6 năm 2016 lúc 13:25
  3. Giả sử bạn có thể muốn đảo ngược nó dưới dạng một số thực và không phải là một chuỗi thử như sau:Math.sign[]

Đã trả lời ngày 23 tháng 9 năm 2018 lúc 20:24

let num = -5432100
num.toString[]

// num = '-5432100'
8

Vlaz

24.3k9 Huy hiệu vàng45 Huy hiệu bạc61 Huy hiệu Đồng9 gold badges45 silver badges61 bronze badges

Đã trả lời ngày 5 tháng 4 năm 2021 lúc 21:15Jan 4 at 10:10

Đầu tiên, tôi không nghĩ rằng bạn đang sử dụng một mảng để lưu trữ số. Bạn đang sử dụng một biến tập lệnh Java.

let num = -5432100
num.toString[]

// num = '-5432100'
9

Vlaz

24.3k9 Huy hiệu vàng45 Huy hiệu bạc61 Huy hiệu Đồng9 gold badges45 silver badges61 bronze badges

Đã trả lời ngày 5 tháng 4 năm 2021 lúc 21:15Jun 29, 2018 at 16:23

Làm cách nào để đảo ngược một số trong JavaScript?

JavaScript: Đảo ngược một số..
Trình bày bằng hình ảnh:.
Giải pháp mẫu:.
Mã HTML:
Mã JavaScript: Hàm đảo ngược_A_Number [n] {n = n + ""; trả về N.Split [""]. Reverse []. tham gia [""]; } console.log [số [Reverse_A_Number [32243]]]; ....
Giải trình: ... .
Flowchart:.
Bản thử trực tiếp:.

Làm thế nào để bạn đảo ngược một đối tượng trong JavaScript?

JavaScript Reversion [] Phương thức: Đối tượng mảng Phương thức đảo ngược [] được sử dụng để đảo ngược thứ tự của các phần tử trong một mảng, tức là phần tử mảng đầu tiên trở thành phần cuối cùng và phần cuối cùng trở thành thứ đầu tiên.The reverse[] method is used to reverse the order of the elements in an array, i.e. first array element becomes the last and the last becomes the first.

Làm thế nào để bạn đảo ngược một giá trị?

Làm thế nào để đảo ngược một số về mặt toán học ...
Bước 1 - Phân lập số cuối cùng về số.LastDigit = số % 10. Toán tử modulo [ %] trả về phần còn lại của divison.....
Bước 2 - Lối nối LastDigit để đảo ngược.đảo ngược = [đảo ngược * 10] + LastDigit.....
Bước 3 loại bỏ chữ số cuối cùng từ số.số = số / 10 ..

JavaScript có chức năng ngược không?

Reversion [] Phương thức đảo ngược [] đảo ngược một mảng tại chỗ và trả về tham chiếu đến cùng một mảng, phần tử mảng đầu tiên hiện trở thành phần cuối cùng và phần tử mảng cuối cùng trở thành phần đầu tiên.The reverse[] method reverses an array in place and returns the reference to the same array, the first array element now becoming the last, and the last array element becoming the first.

Bài Viết Liên Quan

Chủ Đề