0

How can I remove the last comma from this function.

   for(var i = 0; i <= 100; i++) { 
          if(i % 2 === 0) { 
            div.innerHTML += l + ","; 
          } 
         else { 
            div.innerHTML += " ";
         }
   } 
4
  • Add this after the for loop, dividedThree.innerHTML = dividedThree.innerHTML.substring(0, dividedThree.innerHTML.length - 1); Commented Oct 12, 2015 at 10:18
  • if (i % 2 === 0 && i !== 100) { ... ? Commented Oct 12, 2015 at 10:18
  • in practice, you should avoid updating innerHTML in a loop like that Commented Oct 12, 2015 at 10:20
  • do you really add l? or is it i? with i you get 0, 2, 4, 6, ..., 98, 100,. the function is missing some (). Commented Oct 12, 2015 at 10:26

4 Answers 4

6

First, use arrays instead strings for sum strings, its faster. Second:

var arr = [];
for (var i = 0 ;i <= 100; i+=2) arr.push(l);
dividedThree.innerHTML = arr.join(', ');
Sign up to request clarification or add additional context in comments.

2 Comments

in the original code, it's the lower case letter L, and it is only added every second iteration
i <= 100 ... the original result has 51 * l, not 50 :p
0
function loop {
    for (var i = 0; i <= 100; i++) {
        if (i % 2 === 0) {
            dividedThree.innerHTML += l;
            if (i < 100)
            {
                dividedThree.innerHTML += ",";
            }
        } else {
            dividedThree.innerHTML += " ";
        }
    }
}

Comments

0

Try using and (&&) condition for 100 and show only i value for 100.

function loop() {
  var dividedThree = document.getElementById('MY_ID');
  for (var i = 0; i <= 100; i++) {
    if (i % 2 === 0 && i !== 100) {
      dividedThree.innerHTML += i + ", ";
    } else if (i === 100) {
      dividedThree.innerHTML += i;
    } else {
      dividedThree.innerHTML += " ";
    }
  }
}
loop();
<p id="MY_ID">
  <p>

Comments

0

does this version work for you?

function loop() {
    var data = '';
    for (var i = 0; i <= 49; i++) { 
        data  += l + ',' + ' ';
    }
    data  += l;
    dividedThree.innerHTML = data;
}

What are you trying to do? where does 'l' come from?

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.