用 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>
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP