Una de las mejores características de javascript es que se pueden añadir funciones a las ‘clases’ en cualquier momento a través de la propiedad prototype.
Aprovechando esta capacidad podemos extender el objeto Array para añadirle funcionalidades de búsqueda y eliminación.
array.indexOf
Devuelve el indice del array en el que se encuentra el elemento. Devuelve -1 si no encuentra el elemento
for (var i = 0; i <this.length; i++) {
if(this[i] == element) return i;
}
return -1;
};
array.exists
Devuelve true si el elemento se encuentra en el array, haciendo uso de la función indexOf
return this.indoexOf(element) != -1;
};
array.filter
Devuelve un array que contiene solo los elementos para los que la función pasada como argumento devuelve true
var array = [];
for (var i = 0; i <this.length; i++) if(fn(this[i])) array.push(this[i]);
return array;
};
array.removeIndex
Elimina todos los elementos del array que están entre los índices from y to. Si solo se especifica valor para from, se elimina solo el elemento que se encuentra en ese índice.
if (from <0) return;
var rest = this.slice((to || from) + 1 || this.length);
this.length = from <0 ? this.length + from : from;
return this.push.apply(this, rest);
};
array.remove
Elimina un elemento del array, usando las funciones removeIndex e indexOf
return this.removeIndex(this.indexOf(e));
};
array.execute
Ejecuta la función fn pasándole como argumento cada elemento del array
si le pasamos el argument obj, se ejecutara la función fn como si perteneciese al objeto obj
for (var i=0; i<;this.length; i++){
if (owner) fn.call(owner, this[i]);
else if (typeof this[i] != ‘function’) fn(this[i]);
}
}
array.foreach
Ejecuta la función fn en cada elemento del array, pasándole como argumentos los elementos contenidos en el array args
si le pasamos el argument obj, se ejecutara la función fn como si perteneciese al objeto obj
for (var i=0; i<this.length; i++) {
fn.apply(this[i], args);
}
}
0 comentarios