Cosa sono iteratori in JavaScript

Cosa sono iteratori in JavaScript
JavaScript offre diversi modi per iterare attraverso una raccolta di valori di oggetti come i loop. Tuttavia, Iteratori sono introdotti in JavaScript 1.7, che fornisce un meccanismo per personalizzare il comportamento di per ciascuno E per ... in loop e integra il concetto di iterazione nel linguaggio principale.

Se è necessario aggiungere funzionalità iterative native a una struttura di dati ben incapsulata e personalizzata, è necessario utilizzare iteratori JavaScript. Può essere considerato un modo più elegante per standardizzare i tuoi oggetti personalizzati.

Questo articolo discuterà iteratori In JavaScript. Dimostreremo anche l'uso di iteratori, iterables, Next () e iteratori definiti dall'utente. Quindi iniziamo!

Iterazione in JavaScript

In JavaScript, Iterazione è una procedura in cui una raccolta di strutture o istruzioni viene ripetuta in una sequenza per un numero predeterminato di volte o fino a quando la condizione aggiunta è vera. Puoi utilizzare Loop per iterating sul set di istruzioni specificato.

Ad esempio, abbiamo dichiarato un array "conteggio"E con l'aiuto del"per ... di"Loop, ripeteremo l'array specificato:

Cont Counting = [1, 2, 3];
per (let x of Counting)
console.log (x);

Come risultato di esso, ogni valore verrà restituito e mostrato come output:

Ora, diamo un'occhiata al metodo per iterare su un oggetto JavaScript. A tale scopo, in primo luogo, dichiarare un oggetto chiamato "dipendente"E poi utilizza per ... di Loop per ripetere le sue proprietà:

const dipendente = nome: 'Alex', designazione: 'manager';
per (const prop of dkeyee)
console.log (prop);

Come puoi vedere, l'output del codice sopra dato ha visualizzato un "TAYEERROR"Messaggio che afferma che il"dipendente"L'oggetto non lo è iteble. Perché succede? Abbiamo incontrato il typeerror perché il per ... di loop Richiede un oggetto iterabile per iterare le proprietà dell'oggetto.

Per gestire la situazione attuale, è possibile utilizzare il protocollo di iterazione JavaScript, che ti aiuterà a rendere un oggetto iterabile per iterarti sulle sue proprietà.

Protocollo di iterazione JavaScript

JavaScript fornisce un protocollo di iterazione per iterare sugli oggetti. Questo protocollo specifica la procedura di iterazione usando "per ... di " ciclo continuo. Gli iteratori JavaScript sono divisi in due componenti: "Itables" E "Iteratori":

  • Iterables: Iterables sono gli oggetti che implementano "iteratore ()"Metodo iterazione i.e. array o stringa.
  • Iteratori: L'oggetto restituito dal "iteratore ()Il metodo "è noto come"Iteratore". Dopo aver ottenuto l'iteratore, puoi usare il "Prossimo()"Metodo per accedere in sequenza ad elementi iterabili.

Può essere difficile per te capire l'uso di questi metodi a colpo d'occhio, quindi passeremo in sequenza ciascuno di essi nelle sezioni di seguito.

Next () Metodo in JavaScript

"Prossimo()"È un metodo oggetto iteratore che viene invocato per restituire il valore successivo nella sequenza di iterazione. Questo metodo comprende le seguenti due proprietà:

  • IL "valore"La proprietà rappresenta il valore corrente nella sequenza di iterazione e può essere di qualsiasi tipo di dati.
  • IL "Fatto"La proprietà viene utilizzata per rappresentare lo stato di iterazione, dove"falso"Significa che l'iterazione non è completa e"VERO"Indica che il processo di iterazione è completato.

Definiamo un iteratore personalizzato in JavaScript e accediamo agli elementi di un array in sequenza utilizzando il metodo Next ().

Creazione di iteratore definito dall'utente in JavaScript

JavaScript ti consente di creare un iteratore definito dall'utente e invocare il "Prossimo()"Metodo per accedere agli elementi dell'oggetto iterabile.

Qui, abbiamo definito il "showelement ()"Metodo e restituirà il"valore" E "Fatto"Proprietà dell'oggetto iterabile che è accettato come argomento:

funzione showelements (arr)
Sia numero = 0;
ritorno
Prossimo()
if (numero < array.length)
ritorno
Valore: array [numero ++],
fatto: false

ritorno
Valore: indefinito,
fatto: vero


Nel prossimo passaggio, creeremo un "vettore"E poi passalo al"showelement ()"Metodo come argomento. Poi il "showelements ()"Il metodo restituirà un oggetto iterabile, al quale archiviamo in"ARRITERATOR":

const array = ['l', 'i', 'n', 'u', 'x'];
const arritertor = showelements (array);

Ora, ogni volta in cui il "Prossimo()"Il metodo è invocato con il"ARRITERATOR", Visualirà i valori dell'elemento array in una sequenza con il definito"valore" E "Fatto" proprietà:

console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());

Quando tutti gli elementi sono iterati, il "valore"Il valore della proprietà verrà impostato su"non definito", con "Fatto"Proprietà come"VERO":

L'output di cui sopra indica che abbiamo creato ed eseguito correttamente un iteratore definito dall'utente nel nostro programma utilizzando il metodo Next (). Ora, comprendiamo anche il concetto di iterabili e abbiamo una comprensione chiara e profonda di Simbolo.iteratore () In JavaScript

Esempio: creazione di iteratori da iterables usando il simbolo.Metodo Iterator () in JavaScript
In questo esempio, in primo luogo, dichiareremo un array con i seguenti tre valori:

const arr1 = ['l', 'i', 'n', 'u', 'x'];

Quindi, invoceremo il "Simbolo.iteratore ()"Metodo che restituirà un oggetto iterabile e"ARRITERATOR"Conserverà il suo valore:

const arcriterator = arr1 [simbolo.iteratore] ();
console.registro (arrivatori);

L'esecuzione del programma di cui sopra emetterà gli iteratori dell'array:

Esempio: usando il metodo Next () su un oggetto iterabile in JavaScript
Questo esempio dimostrerà l'uso di "Prossimo()"Metodo per ripetere un oggetto iterabile. Per farlo, in primo luogo, creeremo un "vettore"E poi invoca il"Simbolo.iteratore ()"Metodo per restituire un oggetto iterabile:

const array = ['l', 'i', 'n', 'u', 'x'];
Sia ARTIRITATOR = Array [Simbolo.iteratore] ();

Invocando il "Prossimo()"Restituirà anche un oggetto con"valore" E "Fatto"Valori della proprietà:

console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());
console.Registro (Arriteratore.Prossimo());

Alla fine della sequenza di iterazione, il "Fatto"Proprietà del"Prossimo()Il metodo "è impostato su"falso":

Esempio: iterando tramite iterables con While Loop in JavaScript
IL simbolo.iteratore () Il metodo viene automaticamente chiamato dal per ... di loop. Se vuoi invocarlo manualmente, puoi usare il "Mentre"Loop per iterating sull'oggetto iterabile specificato.

Ad esempio, nell'esempio seguente, useremo il "Mentre"Loop per iterare sugli oggetti iterabili restituiti dal"Simbolo.iteratore ()" metodo:

const array = ['l', 'i', 'n', 'u', 'x'];
Sia ARTIRITATOR = Array [Simbolo.iteratore] ();
let text = ""
while (vero)
Const Risult = Ariteritor.Prossimo();
if (risultato.fatto) Break;
console.Log ("Valore:"+ risultato.valore + "fatto:" + risultato.Fatto);

Qui, l'output mostra il risultato restituito con "valore" E "Fatto"Proprietà iterator:

Guarda il seguente diagramma per comprendere la relazione tra iterable, il metodo Next () e iteratori in JavaScript:

Questo riguardava l'uso di base degli iteratori in JavaScript. Puoi esplorarlo ulteriormente in base alle tue preferenze.

Conclusione

Gli iteratori in JavaScript sono utilizzati per looping su una sequenza di valori di oggetti restituiti dal simbolo.Metodo iteratore (). Questo processo prevede anche l'implementazione del metodo Next () che restituisce un oggetto con il valore e le proprietà fatte, dove "valore"Rappresenta il valore della sequenza corrente e"Fatto"Determina se l'iterazione è completata o meno. Questo articolo ha discusso di iteratori Javascript con l'aiuto di esempi adeguati.