estoy trabajando con una serie de objetos JavaScript, tales como:Usando jQuery InArray con gran variedad de objetos JavaScript
var IssuesArray = [{"ID" : "1", "Name" : "Issue1"},
{"ID" : "2", "Name" : "Issue2"},
{"ID" : "3", "Name" : "Issue3"}];
Mi esfuerzo extremo está tratando de eliminar un objeto de la matriz cuando sé el ID de la objeto. Estoy tratando de utilizar código que es algo como esto:
$.grep(IssuesArray, function(n, i) {
return i != $.inArray("2", IssuesArray);
});
Así que esto demuestra que estoy tratando de usar jQuery grep para eliminar un elemento por el índice (i), que estoy tratando de recuperar mediante el uso de jQuery en Array. Por supuesto, el código anterior no funcionará porque "2" debería corresponder a un elemento en la matriz, que son todos los objetos de JavaScript (un objeto nunca será igual a "2"). Necesito algo como:
$.inArray(javascriptObject.Name=="2", IssuesArray);
Alguien ha tenido ningún éxito utilizando InArray para obtener índices de objetos JavaScript, utilizando un valor de campo dentro de ese objeto? Cualquier ayuda sería apreciada. Gracias.
ACTUALIZACIÓN/ACLARACIÓN: Algunas personas han sido confundidas por mi pregunta, pero recibí una respuesta que funciona de todos modos. Estoy usando:
IssuesArray = $.grep(IssuesArray, function(n) {
return n.ID != "2";
});
Creo que estaba pensando demasiado, cuando la solución era realmente fácil. Simplemente quería eliminar un objeto de JavaScript de una matriz, siempre que conociera el valor de una propiedad en particular en ese objeto. La solución anterior usa grep de jQuery para devolver todo desde la matriz excepto cualquier objeto cuya ID == "2". Como de costumbre, gracias por las respuestas rápidas. Un par de respuestas fueron buenas soluciones y habrían funcionado usando (usando "empalme", por ejemplo), pero esta solución parece ser la más corta y directa. Gracias de nuevo.
que no tienen idea de lo que estamos tratando de lograr ... – Greg
no sabía el método .grep en absoluto - es genial, para las matrices más pequeñas (por cierto, ¿por qué se le llama grep?); sin embargo, duplica la matriz, por lo que para un conjunto de datos más grande, puede ser mejor eliminar los elementos de la matriz original, pero eso depende en gran medida de lo que esté intentando archivar :) – Patonza