Tengo una matriz de JavaScript de objetos Date, que me gustaría probar para ascender. Esto es lo que construí, pero estoy un poco decepcionado. ¿Cualquier sugerencia?

function isAscending(timeLine) {
  if (timeLine.length < 2)
    return true;

  for(var i=1; i < timeLine.length; i++) {
    if(timeLine[i-1] > timeLine[i])
      return false;
  }
  return true;   
}     

(Esperaba algo más expresivo, incorporado, alguna función matemática de biblioteca, etc.)

0
Felix Ogg 23 dic. 2009 a las 19:01

3 respuestas

La mejor respuesta

Esa es la forma más sencilla de hacerlo; No te decepciones.

3
SLaks 23 dic. 2009 a las 20:14

¿Qué tal

function isAscending(timeLine){
    var i=0, L= timeLine.length-1;
    while(i<L){
        if(timeLine[i]> timeLine[++i]) return false;
    }
    return true;
}
0
kennebec 23 dic. 2009 a las 17:50

Es6 way

let isAscending = timeLine => 
    timeLine.every( (v, i, a) => a.length - 1 === i || v < a[i + 1] )
0
Isaac Han 1 nov. 2017 a las 23:50