Ich habe ein jQuery-Objekt obj
, das eine Reihe von Eingabeelementen kapselt.
ich diesen Code verwende, um, um ein Array zu machen Wert jedes Elements:
$.map(obj, function(elem, i){
return $(elem).val();
});
Das Problem ist, dass manchmal einige der Eingabefelder ungültige Werte enthalten, und ich möchte sie in die überspringen Prozess zum Erstellen des Arrays. Doing a simple return false
scheint nicht das Element zu überspringen, sondern fügt stattdessen eine false
in das Array.
Ich würde gerne wissen, ob es eine Möglichkeit gibt, das ohne mit .each
explizit zu tun.
Wir könnten es auf diese Weise auch tun 'var myArray = ['eins', 'zwei', 'drei']; var i = myArray.filter (Funktion (en) { return n }); 'Darf ich wissen, ob du' get' benutzt hast? – wuhcwdc
@PankajGarg Wenn Sie ein Array haben, um damit zu beginnen, sicher. In diesem Fall hat das OP eine jQuery-Sammlung und möchte ein Array mit gültigen Werten. Wenn '.map' in Verbindung mit' .get' verwendet wird, wird zuerst unsere jQuery-Sammlung zugeordnet und dann in ein Array konvertiert. Beachten Sie, dass jQuerys '.filter' und' .map' anders arbeiten als die ähnlichen Methoden im nativen 'Array'-Objekt. – mekwall