Ho un oggetto jQuery obj
che incapsula un insieme di elementi di input.
Sto usando questo codice per fare una serie di valore di ciascun elemento:
$.map(obj, function(elem, i){
return $(elem).val();
});
Il problema è che a volte alcuni dei campi di input contengono valori non validi e desidero saltarli nel processo di creazione della matrice. Fare un semplice return false
non sembra saltare l'elemento, ma inserisce uno false
nella matrice.
Vorrei sapere se esiste un modo per farlo effettivamente senza utilizzando .each
esplicitamente.
Potremmo farlo in questo modo anche 'var myArray = ['one', 'two', 'three']; var i = myArray.filter (function (n) { return n }); "Posso sapere che hai usato' get'? – wuhcwdc
@PankajGarg Se si dispone di un array per iniziare, sicuro. In questo caso l'OP ha una collezione jQuery e desidera un array con valori validi. Usando '.map' in congiunzione con' .get', prima mapperemo la nostra collezione jQuery e poi la convertiremo in una matrice. Si noti che '.filter' e' .map' di jQuery funzionano in modo diverso rispetto ai metodi simili nell'oggetto 'Array' nativo. – mekwall