编写一个程序来反转 JavaScript 中的数组?

javascriptobject oriented programmingprogramming

反转数组意味着我们正在反转数组中存在的元素的顺序,但不反转数组本身。简单来说,索引为 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>

通过交换元素

使用 swap 方法,我们可以更改任何变量的值。您可以在下面看到语法。

语法

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

但在这里我们将使用 swap 逻辑来更改数组索引值。

让我们借助程序来理解。

示例

在给定的程序中,我们使用 for 循环和 swapping 方法来更改数组索引值,通过 swapping 方法,我们可以更改任何变量的值。

<!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>

相关文章