Métodos Útiles para Extender el Objeto Array en Javascript

El dia de ayer frogx3 se topo con un ligero problema en javascript con el objeto array ya que necesitaba obtener la posición de un elemento que coincida con un valor proporcionado. Con frameworks como Mootools, Protototype, jQuery (supongo) esto no habria sido problema pero ¿qué pasa cuando no puedes incluir ninguno de esos frameworks? pues tenemos la ventaja en Javascript que podemos añadirle eventos a los objetos nativos de javascript utilizando Prototype (Ojo no el framework) por lo que podriamos definir nuestros propios métodos de una manera sencilla. A continuación les presento una lista de algunos métodos útiles para extender el objeto Array en Javascript:

indexOf

Este método te devuelve la posición de un elemento dentro de un arreglo. Para agregarle este método al objeto array hacemos lo siguiente:

  1. // Array.indexOf( value, begin, strict ) - Regresa el indice del primer elemento que coincida con el valor especificado
  2. if (!Array.prototype.indexOf)
  3. {
  4. Array.prototype.indexOf = function( v, b, s ) {
  5. for( var i = +b || 0, l = this.length; i < l; i++ ) {
  6. if( this[i]===v || s && this[i]==v ) { return i; }
  7. }
  8. return -1;
  9. };
  10. }

Podemos probarlo utilizando el siguiente código:

  1. var arreglo = new Array(“a”,“b”,“c”,“d”);
  2.  
  3. var posicion = arreglo.indexOf(“d”);
  4.  
  5. alert(posicion);

lastIndexOf

Devuelve la posición del último elemento encontrado en un arreglo dependiendo de determinado valor.

  1. if (!Array.prototype.lastIndexOf)
  2. {
  3. Array.prototype.lastIndexOf = function(elt /*, from*/)
  4. {
  5. var len = this.length;
  6.  
  7. var from = Number(arguments[1]);
  8. if (isNaN(from))
  9. {
  10. from = len - 1;
  11. }
  12. else
  13. {
  14. from = (from < 0)
  15. ? Math.ceil(from)
  16. : Math.floor(from);
  17. if (from < 0)
  18. from += len;
  19. else if (from  >= len)
  20. from = len - 1;
  21. }
  22.  
  23. for (; from  > ; -1; from–)
  24. {
  25. if (from in this && this[from] === elt)
  26. return from;
  27. }
  28. return -1;
  29. };
  30. }

Ejemplo de uso:

  1. var arreglo = new Array(“a”,“d”,“c”,“d”);
  2.  
  3. var posicion = arreglo.lastIndexOf(“d”);
  4.  
  5. alert(posicion);

forEach

El forEach que nos permite aplicarle una función a cada elemento de un arreglo.

  1. if (!Array.prototype.forEach)
  2. {
  3. Array.prototype.forEach = function(fun /*, thisp*/)
  4. {
  5. var len = this.length;
  6. if (typeof fun != “function”)
  7. throw new TypeError();
  8.  
  9. var thisp = arguments[1];
  10. for (var i = 0; i < len; i++)
  11. {
  12. if (i in this)
  13. fun.call(thisp, this[i], i, this);
  14. }
  15. };
  16. }

Ejemplo de uso:

  1. var arreglo = new Array(“a”,“b”,“c”,“d”);
  2.  
  3. var posicion = arreglo.indexOf(“d”);
  4.  
  5. arreglo.forEach(function(j){alert(j);});

Unique

Elimina valores repetidos de un arreglo. este método utiliza el indexOf por lo que para utilizar previamente tenemos que definir el método indexOf

  1. Array.prototype.unique = function( b ) {
  2. var a = [], i, l = this.length;
  3. for( i=0; i<l; i++ ) {
  4. if( a.indexOf( this[i], 0, b ) < 0 ) { a.push( this[i] ); }
  5. }
  6. return a;
  7. };

Ejemplo de uso:

  1. var arreglo = new Array(“a”,“d”,“c”,“d”);
  2. var arreglo2 = arreglo.unique();
  3. alert(arreglo2);

Random

Obtener un valor aleatorio de un arreglo.

  1. // Array.random( rango) - Regresa un valor aleatorio del arreglo, se puede especificar un valor máximo de posicion.
  2. Array.prototype.random = function( r ) {
  3. var i = 0, l = this.length;
  4. if( !r ) { r = this.length; }
  5. else if( r > 0 ) { r = r % l; }
  6. else { i = r; r = l + r % l; }
  7. return this[ Math.floor( r * Math.random() - i ) ];
  8. };

Ejemplo de uso:

  1. var arreglo = new Array(“a”,“b”,“c”,“d”);
  2. alert(arreglo.random());

Pueden ver otros métodos aquí

Core Javascript 1.5 Reference:Object Array

¿Te pareció interesante la nota?, registrate a nuestro Feed para que estes al dia con las últimas notas que publicamos en WebAdictos, tambien te invitamos a explorar nuestros archivos tal vez encuentres notas y recursos que te sean de utilidad.

Si lo prefieres puedes utilizar el botón de post aleatorio para ir saltando entre nuestros contenidos.
Gracias por visitarnos.

4 Comentarios para “Métodos Útiles para Extender el Objeto Array en Javascript”

  1. www.programame.net

    Métodos Útiles para Extender el Objeto Array en Javascript…

    Lista de algunos métodos útiles para extender el objeto Array de Javascript…

  2. Métodos Útiles para Extender el Objeto Array en Javascript - Noticias externas

    [...] Lista de algunos métodos útiles para extender el objeto Array de Javascript» noticia original [...]

  3. Actualidad, Entretenimiento y Humor » Métodos Útiles para Extender el Objeto Array en Javascript

    [...] (more…) [...]

  4. Pablo

    Use su función Array.indexOf y cuando creo un arreglo vacío (arr[]) en IE 6.0 me crea un objeto: arr['indexOf'] = declaración de la función. ¿Sabe por qué eso?

Leave a Reply


Tu banner aquí

Recibir Artículos Por Email