用 JavaScript 編寫一個反轉陣列的程式?


反轉陣列意味著我們反轉陣列中存在的元素的順序,但不是陣列本身。簡單來說,第 0 個索引處的元素將移到陣列的最後一個索引處,反之亦然。

在 JavaScript 中反轉陣列的方法有很多,在這篇文章中,我們將詳細瞭解這些方法。

使用 reverse() 方法

JavaScript 中的 reverse() 方法反轉陣列元素的順序。陣列中的第一個元素與最後一個元素交換,第二個元素與倒數第二個元素交換……依此類推。

語法

以下是此方法的語法:

arr.reverse();

示例

在下面的程式中,我們對包含不同顏色的陣列 color 使用 reverse() 方法,並將陣列的反轉元素作為輸出列印。

<!DOCTYPE html><html lang="en"><head> <title>Reverse Method</title> </head>
<body> <script> var color = ['Red','Black','Pink','Gray','Yellow']; var revarr = color.reverse(); document.write(color); </script> </body> </html>

使用 push() 方法

我們還可以使用 push() 方法在 JavaScript 中反轉陣列。為此,我們需要建立兩個陣列;其中一個數組有一些值,另一個數組為空。

語法

以下是此方法的語法:

var arr1 = [value1,value2,value3,…..];
var arr2 = [];

使用 for 迴圈獲取第一個陣列在最後一個索引處的值。

for(let i = arr.length-1; i>=0; i--)
   arr.push(arr[i])

您可以透過下面的程式更好地理解。

示例

<!DOCTYPE html> <html lang="en"> <head> <title>Reverse Array</title> </head> <body> <script> var arr = [1,2,3,4,5]; var revarr = []; let i; for(i = arr.length-1; i>=0; i--){ revarr.push(arr[i]); } for(let i = 0; i<revarr.length; i++){ document.write(revarr[i] + " "); } </script> </body> </html>

透過交換元素

使用交換方法,我們可以更改任何變數的值。您可以在下面看到語法。

語法

var temp = a;
a = b;
b = temp;

但在這裡,我們將使用交換邏輯來更改陣列索引值。

讓我們藉助程式來理解。

示例

在給定的程式中,我們使用 for 迴圈和交換方法來更改陣列索引值,並且透過交換方法,我們可以更改任何變數的值。

<!DOCTYPE html> <html lang="en"> <head> <title>Reverse Array</title> </head> <body> <script> var arr = [1,2,3,4,5]; var r; var len = arr.length; document.write("Original array: "); for(let i = 0; i<arr.length; i++){ document.write(arr[i] + " "); } for(let i = 0; i<len/2; i++){ r = arr[i]; arr[i] = arr[len-i-1]; arr[len-i-1] = r; } document.write("<br>After reverse array: "); for(let i = 0; i<len; i++){ document.write(arr[i] + " "); console.log(arr[i]); } </script> </body> </html>

使用 for 迴圈

我們可以使用 for 迴圈和一些基本邏輯來獲取陣列在最後一個索引處的值。

示例

如您在下面的程式中看到的,我們使用了 for 迴圈來獲取所有陣列元素的值,並在 for 迴圈內部,我們反轉了一個數組。

<!DOCTYPE html> <html lang="en"> <head> <title>Reverse Array</title> </head> <body> <script> var arr = [1,2,3,4,5]; var len = arr.length; document.write("Original array:"); for(let i = 0; i<len; i++) { document.write(arr[i] + " "); } document.write("<br>Reverse array : "); for(let i = len-1; i>=0; i--){ document.write(arr[i] + " ") } </script> </body> </html>

更新於:2022年8月29日

2K+ 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.