Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju.

Autors Marija Gatoni
DalītiesČivinātDalītiesE-pasts

Uzziniet, kā atrisināt ligzdotu masīva objektu, izmantojot JavaScript kartes funkciju.

Lielākā daļa mūsdienu lietojumprogrammu patērē ārējos datus no citām lietojumprogrammām un rīkiem, izmantojot API. Šis dati ir pieejami visu veidu shēmās, un jums ir jādekonstruē tie, līdz iegūstat to, ko vēlaties izmantot. Starp šīm shēmām ir datu objekti, kas satur ligzdotus masīvus. Šāda veida datu renderēšana var būt sarežģīta. Šis raksts iemācīs, kā kartēt ligzdotu masīvu React komponentā.

Kartes funkcijas izmantošana

Kartes funkcija veic cilpas pār dotā masīva vienumiem un katram atgriež norādīto paziņojumu vai kodu.

Plakanam masīvam kartes funkcija darbojas šādi:

const arr = ['a', 'b', 'c'];
konst rezultāts1 = arr.map (element => {
atgriezties elements;
});

Programmā React kartes funkcija ir jāiekļauj krokainajās iekavās un jāizmanto an

instagram viewer
bultiņas funkcija lai katrai iterācijai atgrieztu mezgla elementu. Vienumus iepriekš redzamajā plakanajā masīvā var atveidot kā JSX elementus, piemēram:

const arr = ['a', 'b', 'c']; 
funkcijuApp () {
atgriezties (
<>
{arr.map((prece, index) => {
<span atslēga={index}>{a}</span>
})}
</>
)
}

Ņemiet vērā, ka katram elementam, ko atgriež kartes funkcija, jūs piešķirat atslēgu. Tas palīdz React identificēt vienumus, kas ir mainīti vai noņemti. Tas ir svarīgi izlīguma procesā.

Kartēšana pār ligzdotu masīvu reakcijas komponentā

Ligzdots masīvs ir līdzīgs masīvam, kurā ir cits masīvs. Piemēram, šajā recepšu masīvā ir objekts ar masīvu.

konst receptes = [
{
id: 716429,
virsraksts: "Makaroni ar ķiplokiem, lociņiem, ziedkāpostiem & Maizes drupačas",
attēls: "<https://spoonacular.com/recipeImages/716429-312x231.jpg>",
trauku veidi: [
"pusdienas",
"pamatēdiens",
"galvenais ēdiens",
"vakariņas"
],
recepte: {
// receptes dati
}
}

]

Lai iegūtu šādus datus ar ligzdotiem masīviem, katram masīvam ir jāizmanto kartes funkcija.

Šajā piemērā datu masīvs jākartē, kā parādīts tālāk:

eksportētnoklusējumafunkcijuReceptes() {
atgriezties (
<div>
{receptes.map((recepte) => {
atgriezties <div atslēga={recepte.id}>
<h1>{recepte.title}</h1>
<img src={recepte.image} alt="receptes attēls" />
{recipe.dishTypes.map((tips, indekss) => {
atgriezties <span atslēga={index}>{tips}</span>
})}
</div>
})}
</div>
)
}

Komponents Receptes atveidos div elements, kas satur recepšu datus katrai receptei recepšu masīvā.

Darbs ar masīviem JavaScript

JavaScript piedāvā plašu masīvu metožu klāstu, kas atvieglo darbu ar masīviem. Šajā rakstā tika parādīts, kā renderēt datus no ligzdotā masīva, izmantojot kartes masīva metodi. Papildus kartei ir arī metodes, kas palīdz nosūtīt datus masīvā, savienot divus masīvus vai pat kārtot masīvu.

15 JavaScript masīva metodes, kuras jums vajadzētu apgūt jau šodien

Lasiet Tālāk

DalītiesČivinātDalītiesE-pasts

Saistītās tēmas

  • Programmēšana
  • Reaģēt
  • JavaScript
  • Web izstrāde

Par autoru

Marija Gatoni (Publicēti 57 raksti)

Mērija ir Nairobi MUO personāla rakstniece. Viņai ir bakalaura grāds lietišķajā fizikā un datorzinātnēs, taču viņai vairāk patīk strādāt tehnoloģiju jomā. Viņa ir kodējusi un rakstījusi tehniskos rakstus kopš 2020. gada.

Vairāk no Mary Gathoni

komentēt

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai saņemtu tehniskos padomus, pārskatus, bezmaksas e-grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu