es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ordenamiento insensible a mayúsculas y minúsculas de JavaScript para una tabla HTML.

Cómo puedo implementar una función de ordenamiento sin distinción de mayúsculas y minúsculas en este código de Javascript para mi tabla. ¿Es posible hacer esto?

Por favor, vea abajo:

“`javascript
cPrev = -1;

function sortBy(c) {
rows = document.getElementById(“data_table”).rows.length;
columns = document.getElementById(“data_table”).rows[0].cells.length;
arrTable = […Array(rows)].map(e => Array(columns));
for (ro=0; ro<rows; ro++)=”” {=”” for=”” (co=”0;”></rows;><columns; co++) {
arrtable[ro][co] = document.getelementbyid(“data_table”).rows[ro].cells[co].innerhtml;
}
}
}
co++)="" {="" arrtable[ro][co]="document.getElementById(&quot;data_table&quot;).rows[ro].cells[co].innerHTML;" }="" }="" }=""></columns; co++) {
arrtable[ro][co] = document.getelementbyid("data_table").rows[ro].cells[co].innerhtml;
}
}
}
>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para implementar la clasificación insensible a mayúsculas y minúsculas en el código JavaScript proporcionado, se puede modificar la función sortBy de la siguiente manera:

    cPrev = -1;
    
    function sortBy(c) {
        rows = document.getElementById("data_table").rows.length;
        columns = document.getElementById("data_table").rows[0].cells.length;
        arrTable = [...Array(rows)].map(e => Array(columns));
        for (ro=0; ro<rows; ro++)="" {="" for="" (co="0;"></rows;><columns; co++)="" {="" arrtable[ro][co]="document.getElementById("data_table").rows[ro].cells[co].innerHTML.toLowerCase();" convertir="" el="" contenido="" a="" minúsculas="" para="" la="" comparación="" insensible="" a="" mayúsculas="" y="" minúsculas="" }="" }="" ordenar="" el="" array="" según="" el="" encabezado="" de="" columna="" seleccionado="" arrtable.sort(function(a,="" b)="" {="" return="" a[c].localecompare(b[c],="" undefined,="" {="" sensitivity:="" 'base'="" });="" pasar="" la="" opción="" de="" sensibilidad="" 'base'="" para="" la="" comparación="" insensible="" a="" mayúsculas="" y="" minúsculas="" });="" rellenar="" la="" tabla="" con="" el="" array="" ordenado="" for="" (i="1;"></columns;><rows; i++)="" {="" var="" strrow="" ;="" for="" (j="0;"></rows;><columns; j++) {
            strrow += "<td>" + arrtable[i][j] + "</td>";
          }  
          document.getelementbyid("data_table").rows[i].innerhtml = strrow;
        }
        if (cprev != -1) {
          document.getelementbyid("header_table").rows[0].cells[cprev].style.backgroundcolor = "";
        }
        document.getelementbyid("header_table").rows[0].cells[c].style.backgroundcolor = "lightblue";
        cprev = c;
    }
    
    

    en la función sortby modificada, el contenido de cada celda de la tabla se convierte a minúsculas antes de compararlo para el ordenamiento. esta conversión a minúsculas hace que el ordenamiento sea insensible a mayúsculas y minúsculas. se utiliza la función localecompare para comparar el contenido de dos celdas para el ordenamiento. la opción de sensitivity se establece como 'base', lo que significa que la comparación debe ser insensible a mayúsculas y minúsculas. por último, el array ordenado se vuelve a insertar en la tabla. j++)=”” {=”” strrow=”” +=”<td>” +=”” arrtable[i][j]=”” +=”” “</td>”;=”” }=”” document.getelementbyid(“data_table”).rows[i].innerhtml=”strRow;” }=”” if=”” (cprev=”” !=”-1)” {=”” document.getelementbyid(“header_table”).rows[0].cells[cprev].style.backgroundcolor=”” ;=”” }=”” document.getelementbyid(“header_table”).rows[0].cells[c].style.backgroundcolor=”lightblue” ;=”” cprev=”c;” }=”” “`=”” en=”” la=”” función=”” sortby=”” modificada,=”” el=”” contenido=”” de=”” cada=”” celda=”” de=”” la=”” tabla=”” se=”” convierte=”” a=”” minúsculas=”” antes=”” de=”” compararlo=”” para=”” el=”” ordenamiento.=”” esta=”” conversión=”” a=”” minúsculas=”” hace=”” que=”” el=”” ordenamiento=”” sea=”” insensible=”” a=”” mayúsculas=”” y=”” minúsculas.=”” se=”” utiliza=”” la=”” función=”” localecompare=”” para=”” comparar=”” el=”” contenido=”” de=”” dos=”” celdas=”” para=”” el=”” ordenamiento.=”” la=”” opción=”” de=”” sensitivity=”” se=”” establece=”” como=”” 'base',=”” lo=”” que=”” significa=”” que=”” la=”” comparación=”” debe=”” ser=”” insensible=”” a=”” mayúsculas=”” y=”” minúsculas.=”” por=”” último,=”” el=”” array=”” ordenado=”” se=”” vuelve=”” a=”” insertar=”” en=”” la=””></columns; j++) {
    strrow += “<td>” + arrtable[i][j] + “</td>”;
    }
    document.getelementbyid(“data_table”).rows[i].innerhtml = strrow;
    }
    if (cprev != -1) {
    document.getelementbyid(“header_table”).rows[0].cells[cprev].style.backgroundcolor = “”;
    }
    document.getelementbyid(“header_table”).rows[0].cells[c].style.backgroundcolor = “lightblue”;
    cprev = c;
    }

    “`

    en la función sortby modificada, el contenido de cada celda de la tabla se convierte a minúsculas antes de compararlo para el ordenamiento. esta conversión a minúsculas hace que el ordenamiento sea insensible a mayúsculas y minúsculas. se utiliza la función localecompare para comparar el contenido de dos celdas para el ordenamiento. la opción de sensitivity se establece como 'base', lo que significa que la comparación debe ser insensible a mayúsculas y minúsculas. por último, el array ordenado se vuelve a insertar en la tabla.>

Comments are closed.