Returning reverse array of integers using JavaScript


Exploring the intricate realm of JavaScript, one encounters various programming challenges that demand innovative solutions. Among these, the ability to return a reverse array of integers emerges as a fundamental yet significant topic. Understanding how to manipulate arrays in JavaScript is essential for developers seeking to enhance their coding prowess. In this enlightening article, we shall embark on a journey to unravel the intricacies of returning a reverse array of integers using JavaScript. By delving into the depths of this subject matter and employing lesser-known methods, we shall empower developers with the knowledge and skills to conquer array manipulation challenges with confidence and finesse.

Problem Statement

The challenge at hand entails the creation of a JavaScript function that addresses the task of generating an array comprising elements representing natural numbers. The function is expected to receive a single parameter, a number denoted as "num," which serves as the starting point for the array generation. The desired output entails an array, denoted as "output," which contains a sequence of natural numbers starting from "num" and descending down to 1.

Sample Input −

const num = 10;

Sample Output −

const output = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];

Explanation

For the given input, the function should generate an array starting from 10 and descending down to 1, inclusive. Thus, the output array should contain the numbers [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] in that order.

Approach

In this article, we are going to see a number of different ways to solve the above problem statement in JavaScript −

  • Iterative Approach

  • Recursive Approach

  • Array.from() Method

  • Array.prototype.reverse() Method

Method 1: Iterative Approach

To generate an array of natural numbers in descending order, define a function called generateDescendingArray that takes a parameter num. Inside the function, create an empty array. Set up a decrementing for loop starting from num and iterating down to 1. In each iteration, push the current value into the array. Finally, return the generated array as the output after the loop finishes.

Example

The function generateDescendingArray will produce the desired output of an array containing natural numbers in descending order, starting from the given input number num down to 1.

function generateDescendingArray(num) {
   const output = [];

   for (let i = num; i >= 1; i--) {
      output.push(i);
   }

   return output;
}

const num = 6;
const output = generateDescendingArray(num);
console.log(output);

Output

The following is the console output −

[ 6, 5, 4, 3, 2, 1 ]

Method 2: Recursive Approach

To implement a JavaScript function that recursively returns a reverse array of integers from a given number 'n' to 1, follow these steps: Define the function reverseArray with a parameter 'n'. Inside the function, create an empty array. Check if 'n' is equal to 1 as the base case, and if so, push 1 into the array and return it. If 'n' is not equal to 1, recursively call reverseArray with 'n-1' as the argument to generate the reversed array for the remaining numbers. After the recursive call returns, push 'n' into the array. Finally, return the array containing the reversed sequence of integers.

Example

The code defines a recursive function called reverseArrayRecursive that generates an array of numbers in reverse order. It checks if n is 0 and returns an empty array as the base case. Otherwise, it recursively constructs the reversed array by concatenating [n] with the result of calling reverseArrayRecursive with n - 1. This process continues until the base case is reached, ensuring the reverse order is maintained. Finally, the function returns the reversed array.

function reverseArrayRecursive(n) {
   if (n === 0) {
      return [];
   } else {
      return [n].concat(reverseArrayRecursive(n - 1));
   }
}

// Example usage:
console.log(reverseArrayRecursive(5));

Output

The following is the console output −

[ 5, 4, 3, 2, 1 ]

Method 3: Array.from() Method

To generate a reverse array of integers from n to 1 using Array.from() in JavaScript, start by determining the value of n. Then, use Array.from() with n as the first argument to create an empty array with n slots. Next, use the second argument, a mapping function, to populate the array in reverse order by subtracting the current index from n. Finally, store the resulting reverse array in a variable or display it as needed.

Example

The given code defines a function called reverseArrayFrom that takes a parameter n and returns the result of calling Array.from. This method creates a new array of length n, with each element being the result of subtracting its index from n, effectively reversing the order of the elements.

function reverseArrayFrom(n) {
   return Array.from({ length: n }, (_, i) => n - i);
}

// Example usage:
console.log(reverseArrayFrom(5));

Output

The following is the console output −

[ 5, 4, 3, 2, 1 ]

Method 4: Array.prototype.reverse() Method

To return a reverse array of integers from a given number n down to 1 using JavaScript, create a function that takes a parameter n. Inside the function, create an array and populate it with integers from n to 1 using a loop. Finally, apply the Array.prototype.reverse() method to the array to obtain the reversed order.

Example

The code defines a function called reverseArrayReverse(n) that generates a new array of length n using Array.from() and fills it with values from 1 to n using a mapping function. The array is then reversed using the reverse() method and returned. In the example usage, reverseArrayReverse(5) is called, resulting in a reversed array [5, 4, 3, 2, 1], which is printed to the console using console.log().

function reverseArrayReverse(n) {
   let array = Array.from({ length: n }, (_, i) => i + 1);
   return array.reverse();
}

// Example usage:
console.log(reverseArrayReverse(5));

Output

The following is the console output −

[ 5, 4, 3, 2, 1 ]

Conclusion

To culminate, the utilization of JavaScript to return a reversed array of integers can be a practical and efficient solution. By implementing the appropriate algorithm, one can effortlessly transform the original array into its reverse form, facilitating various data manipulation tasks. This approach, though often overlooked, can bestow a novel perspective on array manipulation and open avenues for creative problem-solving. Consequently, embracing the power of JavaScript's array manipulation capabilities can empower developers to navigate complex scenarios with finesse and ingenuity. In conclusion, incorporating this seldom-explored technique in JavaScript programming can amplify code flexibility and foster a deeper understanding of the language's capabilities.

Updated on: 04-Aug-2023

83 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements