Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

216
Views
Randomize for loop in javascript

I have a for loop that generates html. I'd for this method to generate the elements randomly. Right now they are cardinally generated i.e. d1, d2, ... di. I want them to follow a random sequence i.e. d1, di, di-3, .. di-k.

         for (let i = numberOfInputs; i < dlArray.length+numberOfInputs; i++){
          html +='\t\t\t\t\t\t<tr>\n'
          html += '\t\t\t\t\t\t<td id="row';
          id   = (1+i-numberOfInputs);
          html += id;
          html +='">\n';
          html += '\t\t\t\t\t\t\t<div id=\"t';
          html += id;
          html +='" class=\"ltarget\">'
          html +='</div>\n' 
          html +='\t\t\t\t\t\t</td >\n'
          html +='\t\t\t\t\t\t<td id=\"d'
          html += id
          html += '\">\n'
          html +=`\t\t\t\t\t\t\t${dlArray[i-numberOfInputs]}\n`;
          html +='\t\t\t\t\t\t\t</td >\n' 
          html +='\t\t\t\t\t\t</tr>\n';
        }

Any help with this would be greatly appreciated. Thanks.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

This is a slightly shorter implementation of the table generator using a Durstenfeld shuffle to generate an arbitrary order of the idx array which is then used to output the elements of the dlArray array:

function shfl(a){
 for(let j,i=a.length;i>1;){
  j=Math.floor(Math.random()*i--);
  if (i!=j) [a[i],a[j]]=[a[j],a[i]]
 }
 return a
}

const dlArray="abcdefghij".split(""),
      idx=[...Array(dlArray.length)].map((_,i)=>i+1);
document.querySelector("div").innerHTML = '<table id="tablestyle">'
 +shfl(idx).map(i=>
   `<td id="row${i}"><div id="t${i}" class="ltarget">${i}</div></td ><td  id="d${i}">${dlArray[i-1]}</td ></tr>`).join("\n")+'</table>';
<div></div>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!