2

I try to write a function called "stars" which prints out layers of stars in the following pattern:

stars(1);
// *
stars(4);
// *
// **
// ***
// ****

this is my code:

function stars(n){
   let result="";
   for(let i=1;i<=n;i++){
    result +="*" ;
    console.log(result);
     }
}
console.log(stars(1));
console.log(stars(4));

but, it turns out to be:

"*"
undefined

"*"
"**"
"***"
"****"
undefined

I try to take apart the loop but still can't figure out why the "undefined" appeared. Thanks!

Zoe Yip
  • 23
  • 2
  • 4
    That's just what the function returns. If you don't want to see it, call `stars` without `console.log` – Spectric May 20 '22 at 01:29

2 Answers2

1
function stars(n){
    let result="";
    for(let i=1;i<=n;i++){
        result +="*" ;
        console.log(result);
    }
}
stars(1);
stars(4);

stars is a function that returns nothing, then console logging it logs undefined.

Gabriel Pellegrino
  • 1,042
  • 1
  • 8
  • 17
0

You should just call stars(x),Instead of using console.Because your function doesn't return anything。

mengwenR
  • 1
  • 1