jQuery Esecuzione ciclica - metodo map()

Esempio

Costruire l'elenco di tutti i valori del modulo:

$("p").append($("input"));.map(function() {
  return $(this).val();
).get().join(", ") );

Prova tu stesso

Definizione e uso

map() passa ogni elemento attraverso una funzione nella collezione corrente corrente, generando un nuovo oggetto jQuery contenente i valori di ritorno.

Sintassi

.map(callback(index,domElement))
Parametro Descrizione
callback(index,domElement) Oggetto della funzione chiamata per ogni elemento nella collezione corrente.

Descrizione dettagliata

Poiché il valore di ritorno è un array encapsulato da jQuery, utilizzare get() per trattare l'oggetto di ritorno per ottenere l'array di base.

.map() metodo è particolarmente utile per ottenere o impostare i valori di un set di elementi. Pensa a questo modulo con una serie di caselli di selezione:

<form method="post" action="">
  <fieldset>
    <div>
      <label for="two">2</label>
      <input type="checkbox" value="2" id="two" name="number[]">
    </div>
    <div>
      <label for="four">4</label>
      <input type="checkbox" value="4" id="four" name="number[]">
    </div>
    <div>
      <label for="six">6</label>
      <input type="checkbox" value="6" id="six" name="number[]">
    </div>
    <div>
      <label for="eight">8</label>
      <input type="checkbox" value="8" id="eight" name="number[]">
    </div>
  </fieldset>
</form>

Possiamo ottenere una lista separata da virgola di ID dei caselli di selezione:

$(':checkbox').map(function() {
  return this.id;
).get().join(',');

Prova tu stesso

Il risultato della chiamata attuale è una stringa: "two,four,six,eight".

All'interno della funzione callback, this si riferisce all'elemento DOM corrente di ogni iterazione. La funzione può restituire un singolo elemento di dati o un array di elementi di dati da essere inseriti nel set di risultati. Se viene restituito un array, gli elementi dell'array vengono inseriti nel set. Se la funzione restituisce null o undefined, non viene inserito alcun elemento.