JavaScript Program to Print Left Arrow Star Pattern

Introduction

A left arrow star pattern consists of stars (*) arranged in a way that resembles a left-pointing arrow. The stars start from one and increase to the middle row, then decrease back to one in the lower half, while being aligned to the right. This is a good exercise for practicing loops and formatting output in JavaScript.

Problem Statement

Create a JavaScript program that:

  • Accepts the number of rows for the left arrow pattern.
  • Prints a left arrow-shaped pattern using stars (*).

Example:

  • Input: rows = 5
  • Output:
        *
       **
      ***
     ****
    *****
     ****
      ***
       **
        *
    

Solution Steps

  1. Input the Number of Rows: The user specifies the number of rows for the arrow (upper half of the arrow).
  2. Use Nested Loops: The outer loop handles the rows, and the inner loops handle printing the stars and spaces to align the stars to the right.
  3. Display the Left Arrow Pattern: Print stars in increasing order for the upper part and decreasing order for the lower part, with leading spaces to align them to the right.

JavaScript Program

// Step 1: Input the number of rows for the left arrow pattern
let rows = parseInt(prompt("Enter the number of rows: "));

// Step 2: Print the upper part of the left arrow
for (let i = 1; i <= rows; i++) {
    let output = '';
    
    // Print spaces for alignment
    for (let j = 1; j <= rows - i; j++) {
        output += ' ';
    }
    
    // Print stars for the current row
    for (let k = 1; k <= i; k++) {
        output += '*';
    }
    
    // Print the output for the current row
    console.log(output);
}

// Step 3: Print the lower part of the left arrow
for (let i = rows - 1; i >= 1; i--) {
    let output = '';
    
    // Print spaces for alignment
    for (let j = 1; j <= rows - i; j++) {
        output += ' ';
    }
    
    // Print stars for the current row
    for (let k = 1; k <= i; k++) {
        output += '*';
    }
    
    // Print the output for the current row
    console.log(output);
}

Explanation

Step 1: Input the Number of Rows

  • The program starts by asking the user to input the number of rows for the left arrow pattern. This input is converted to an integer using parseInt().

Step 2: Print the Upper Part of the Left Arrow

  • The first loop handles printing the upper part of the arrow:
    • The inner loop first prints spaces to align the stars to the right.
    • Then, stars are printed in increasing order based on the row number.

Step 3: Print the Lower Part of the Left Arrow

  • The second loop handles printing the lower part of the arrow:
    • Similar to the upper part, the inner loop prints spaces first, followed by stars in decreasing order for each row.

Step 4: Output the Rows

  • After constructing each row with spaces and stars, it is printed using console.log().

Output Example

For rows = 5, the output will be:

    *
   **
  ***
 ****
*****
 ****
  ***
   **
    *

For rows = 4, the output will be:

   *
  **
 ***
****
 ***
  **
   *

Conclusion

This JavaScript program prints a left arrow star pattern using nested loops. The stars are aligned to the right by printing spaces first, and the number of stars increases and then decreases to form the left arrow shape. This exercise is useful for practicing loop control, alignment, and formatting output in JavaScript.

Comments