2010-10-27 20 views

Respuesta

9

Usando jQuery, que podría use the .map() method con the .get() method para obtener una matriz de enteros, then .apply() la matriz como los argumentos for Math.min para obtener el mínimo.

Esto supone que desea la primera columna de la tabla. Es posible que el selector deba cambiar según la columna que desee.

Ejemplo:http://jsbin.com/iyiqa3/

var values = $('#myTable tr > td:first-child').map(function() { 
    return parseInt($.text([this])); 
}).get(); 

var minimum = Math.min.apply(null, values); 

Sin jQuery, intente esto:

Ejemplo: respuesta http://jsbin.com/iyiqa3/2/

var values = []; 

var trs = document.getElementById('myTable').getElementsByTagName('tr'); 

for(var i = 0, len = trs.length; i < len; i++) { 
    values.push(parseInt(trs[ i ].cells[ 0 ].innerHTML)); 
} 

var minimum = Math.min.apply(null, values); 
+0

+1 para usar 'apply()' para pasar una matriz a 'Math.min()' ... lista. –

1

no jquery (y no hay garantías de que es "el más "eficiente, pero no debería ser malo":

var min, rowNo = null; 

var a = table.getElementsByTagName("TR"); 
for (var i=0; i<a.length; i++) { 
var td = a[i].childNodes[columnNo]; 
var val = parseInt(td.innerHTML); 
if (rowNo == null || val < min) { 
    min = val; 
    rowNo = i; 
    } 
} 
0

Me gustaría ir con llanura de JavaScript, ejecute a través de cada fila de la tabla, mirar en la columna que le interesa y encontrar el mínimo:

function getColumnMin(tableId, columnIndex) { 
    var table = document.getElementById(tableId); 
    var rows = table.getElementsByTagName('tr'); 

    var min = Infinity; 
    for (var i = 0; i < rows.length; i++) { 
    var cols = rows[i].getElementsByTagName('td'); 
    var value = (cols[columnIndex].firstChild.nodeValue | 0); // force to integer value 
    if (value < min) 
     min = value; 
    } 
    return min; 
} 

Esto supone que cada uno contiene exactamente <td> un valor y ninguna otra etiqueta HTML

+0

El valor de nodo de cada td es nulo. – kennebec

+0

@kennebec: Vaya, se olvidó 'firstChild'. Gracias. – casablanca

Cuestiones relacionadas