Sto lavorando con una serie di oggetti JavaScript in quanto tale:utilizzando jQuery inArray con array di oggetti JavaScript
var IssuesArray = [{"ID" : "1", "Name" : "Issue1"},
{"ID" : "2", "Name" : "Issue2"},
{"ID" : "3", "Name" : "Issue3"}];
Il mio sforzo fine sta cercando di rimuovere un oggetto dalla matrice quando so l'ID del oggetto. Sto cercando di utilizzare il codice che è qualcosa di simile:
$.grep(IssuesArray, function(n, i) {
return i != $.inArray("2", IssuesArray);
});
Quindi questo dimostra che sto cercando di utilizzare jQuery grep per rimuovere un elemento da indice (i), che sto cercando di recuperare utilizzando jQuery inArray. Ovviamente il codice sopra non funzionerà perché "2" dovrebbe corrispondere a un elemento dell'array, che sono tutti oggetti JavaScript (un oggetto non sarà mai uguale a "2"). Ho bisogno di qualcosa di simile:
$.inArray(javascriptObject.Name=="2", IssuesArray);
Qualcuno ha mai avuto alcun successo utilizzando inArray per ottenere indici di oggetti JavaScript, utilizzando un valore di campo all'interno di tale oggetto? Qualsiasi aiuto sarebbe apprezzato. Grazie.
UPDATE/CLARIFICATION: Un paio di persone sono state confuse dalla mia domanda, ma ho ricevuto una risposta che funziona comunque. Sto usando:
IssuesArray = $.grep(IssuesArray, function(n) {
return n.ID != "2";
});
Penso che ci stavo pensando troppo in profondità, quando la soluzione era davvero piuttosto facile. Volevo semplicemente rimuovere un oggetto JavaScript da un array, purché conoscessi il valore di una particolare proprietà in quell'oggetto. La soluzione di cui sopra utilizza grep di jQuery per restituire tutto dall'array tranne qualsiasi oggetto il cui ID == "2". Come al solito, grazie per le risposte rapide. Un paio di risposte erano buone soluzioni e avrebbero funzionato usando (usando "splice", per esempio), ma questa soluzione sembra essere la più semplice e immediata. Grazie ancora.
: Io non ho idea di che cosa si sta cercando di ottenere ... – Greg
non conosceva il metodo di .grep a tutti - è grande, per gli array più piccoli (a proposito, perché si chiama grep?); duplica l'array, tuttavia, quindi per set di dati più grandi, potrebbe essere meglio rimuovere elementi dall'array originale, ma ciò dipende molto da ciò che si sta cercando di ottenere :) – Patonza