Klaudia A
Klaudia A

Reputation: 19

Adding different number of '-' in every loop (javascript)

I need to create a string like this: 01-2--3---4----5-----6------7------- for a let n=7, using a loop. I've created something like this so far:

let numbers = '';
n = 7;

for(i=0; i<=n; i++) {
numbers += i;
if (i>0) {
numbers += ('-')
}}

which gives me: "01-2-3-4-5-6-7-". Don't know how to change the code so that it could multiply the number of '-' equal n in every loop.

Upvotes: 1

Views: 160

Answers (3)

Ahmed Khaber
Ahmed Khaber

Reputation: 41

This the solution for your problem:

var numbers = '';
var n = 7;
for(var i = 0; i <= n; i++) {
numbers += i;
    for(var j = 0; j < i; j++) {
    numbers += "-";
   }
}

Upvotes: 0

Ivan V.
Ivan V.

Reputation: 8081

What you need is a nested loop, to iterate over the value of i in the outer loop.

const n = 7
let result=''
for (let i = 0; i <= n; i++) {
  let dashes=''
  for(let j=0; j < i; j++){
      dashes+='-'
  }
  result+= `${i}${dashes}`
}
console.log(result)

Upvotes: 1

Nina Scholz
Nina Scholz

Reputation: 386560

You could use String#repeat for the wanted dash.

Do not forget to declare any variable.

let numbers = '',
    n = 7;

for (let i = 0; i <= n; i++) numbers += i + '-'.repeat(i);

console.log(numbers);

Upvotes: 0

Related Questions