I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione.

Di Maria Gatoni
CondividereTwittaCondividereE-mail

Scopri come risolvere un oggetto array nidificato utilizzando la funzione map di JavaScript.

La maggior parte delle applicazioni moderne consuma dati esterni da altre applicazioni e strumenti tramite le API. Questo i dati sono disponibili in tutti i tipi di schemi e sta a te decostruirli finché non ottieni ciò che desideri utilizzo. Tra questi schemi ci sono gli oggetti dati che contengono array nidificati. Può essere difficile eseguire il rendering di questo tipo di dati. Questo articolo ti insegnerà come mappare un array nidificato in un componente React.

Utilizzo della funzione mappa

La funzione map esegue un ciclo sugli elementi di un determinato array e restituisce l'istruzione o il codice specificato per ciascuno.

Per un array piatto, la funzione map funziona come segue:

instagram viewer
const arr = ['UN', 'B', 'C'];
cost risultato1 = arr.map (elemento => {
ritorno elemento;
});

In React, devi racchiudere la funzione map tra parentesi graffe e utilizzare un funzione freccia per restituire un elemento nodo per ogni iterazione. Gli elementi nell'array piatto sopra possono essere visualizzati come elementi JSX come questo:

const arr = ['UN', 'B', 'C']; 
funzioneApp () {
ritorno (
<>
{arr.map((elemento, indice) => {
<chiave span={indice}>{UN}</span>
})}
</>
)
}

Si noti che si assegna una chiave a ogni elemento restituito dalla funzione map. Questo aiuta React a identificare gli elementi che sono stati modificati o rimossi. Questo è importante durante il processo di riconciliazione.

Mappatura su un array annidato in un componente React

Un array annidato è simile a un array che contiene un altro array. Ad esempio, il seguente array della ricetta contiene un oggetto con un array.

cost ricette = [
{
id: 716429,
titolo: "Pasta con aglio, scalogno, cavolfiore & Briciole di pane",
Immagine: "<https://spoonacular.com/recipeImages/716429-312x231.jpg>",
piattoTipi: [
"pranzo",
"portata principale",
"piatto principale",
"cena"
],
ricetta: {
// dati della ricetta
}
}

]

Per dati come questo con array nidificati, dovresti usare una funzione map per ogni array.

In questo esempio, eseguiresti la mappatura dell'array di dati come mostrato di seguito:

esportarepredefinitofunzioneRicette() {
ritorno (
<div>
{ricette.map((ricetta) => {
ritorno <chiave div={recipe.id}>
<h1>{ricetta.titolo}</h1>
<img src={ricetta.immagine} alt="immagine della ricetta" />
{recipe.dishTypes.map((tipo, indice) => {
ritorno <chiave span={indice}>{tipo}</span>
})}
</div>
})}
</div>
)
}

Il componente Recipes eseguirà il rendering del file div elemento contenente i dati della ricetta per ogni ricetta nell'array ricette.

Lavorare con gli array in JavaScript

JavaScript offre un'ampia varietà di metodi di matrice che semplificano il lavoro con le matrici. Questo articolo ha illustrato come eseguire il rendering dei dati da un array annidato usando un metodo di array map. Oltre alla mappa, ci sono anche metodi per aiutarti a inviare dati a un array, concatenare due array o persino ordinare un array.

15 metodi di array JavaScript che dovresti padroneggiare oggi

Leggi Avanti

CondividereTwittaCondividereE-mail

Argomenti correlati

  • Programmazione
  • Reagire
  • javascript
  • Sviluppo web

Circa l'autore

Maria Gatoni (57 articoli pubblicati)

Mary è una scrittrice del personale del MUO con sede a Nairobi. Ha una laurea in fisica applicata e informatica, ma le piace di più lavorare nella tecnologia. Dal 2020 programma e scrive articoli tecnici.

Altro da Mary Gathoni

Commento

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti