link examples ejemplos define javascript jquery

javascript - examples - versión jquery de array.contains



jquery link (4)

jQuery.inArray devuelve el primer índice que coincide con el elemento que buscó o -1 si no se encuentra:

if($.inArray(valueToMatch, theArray) > -1) alert("it''s in there");

No deberías necesitar una matriz. Retirada. Use empalme:

theArray.splice(startRemovingAtThisIndex, numberOfItemsToRemove);

O bien, puede realizar una "eliminación" utilizando la herramienta jQuery.grep :

var valueToRemove = ''someval''; theArray = $.grep(theArray, function(val) { return val != valueToRemove; });

¿Puede jQuery probar una matriz para detectar la presencia de un objeto (ya sea como parte de la funcionalidad principal o mediante un complemento disponible)?

Además, estoy buscando algo como array.remove , que eliminaría un objeto dado de una matriz. ¿Puede jQuery manejar esto por mí?


Si su lista contiene una lista de elementos, puede usar jQuery.not o jQuery.filter para hacer su "array.remove". (Respuesta agregada debido a la alta puntuación de google de su pregunta original).


Encontré la manera de eliminar el objeto:

foot = { bar : ''test''}; delete foot[bar];


Esto no es jQuery, pero en una línea puede agregar un práctico método ''contains'' a las matrices. Encuentro que esto ayuda con la legibilidad (especialmente para gente de pitón).

Array.prototype.contains = function(a){ return this.indexOf(a) != -1 }

ejemplo de uso

> var a = [1,2,3] > a.contains(1) true > a.contains(4) false

Del mismo modo para eliminar

Array.prototype.remove = function(a){if (this.contains(a)){ this.splice(this.indexOf(a),1)}; return this} > var a = [1,2,3] > a.remove(2) [1,3]

O bien, si desea que devuelva la cosa eliminada en lugar de la matriz alterada, entonces

Array.prototype.remove = function(a){if (this.contains(a)){ return this.splice(this.indexOf(a),1)}} > var a = [1,2,3] > a.remove(2) [2] > a [1,3]