用 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+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告