Tengo un código aquí que automáticamente marca una casilla cuando las tres casillas son verdaderas, sin embargo, esto tarda una eternidad en cargarse ya que tengo miles de casillas en la hoja, ¿hay alguna forma de hacer que este código sea más rápido?
en este momento, el código hace que todo se retrase y no responda
function checkBox(j,k,l,m,result){ var result = true; if ( j === true && k === true & l === true && m === true) { result = true; } else { result = false; } return result; }No estoy seguro de lo que está haciendo mal, pero este código tomó 46 ms para 10,000 líneas, un poco más para mostrarse en la pantalla.
function go(){ //set up a test table with every 10th row with all boxes ticked let str="<table>"; for (let i=0;i<10000;i++){ str +="<tr>"; for (let j=0;j<4;j++){ str +="<td><input type='checkbox'></td>"; } str +="<td> </td><td><input type='checkbox'</td>"; str +="</tr>"; } str +="</table>"; container.innerHTML=str; //start here to compute the result column let start=(new Date()).getTime(); let table=container.querySelector("table"); let rows=table.querySelectorAll("tr"); for (let i=0;i<rows.length;i++){ let inputs=rows[i].querySelectorAll("input"); if(i%10==0){ for (let j=0;j<4;j++)inputs[j].checked=true; } else { for (let j = 0; j < 4; j++) { if (Math.random() < 0.5) inputs[j].checked = true; } } inputs[4].checked=inputs[0].checked && inputs[1].checked && inputs[2].checked && inputs[3].checked; } alert((new Date()).getTime()-start); }