În acest exemplu, veți învăța să scrieți un program JavaScript care va parcurge un obiect.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare JavaScript:
- Obiecte JavaScript
- JavaScript pentru … în buclă
Exemplul 1: Buclă prin obiect folosind pentru … în
// program to loop through an object using for… in loop const student = ( name: 'John', age: 20, hobbies: ('reading', 'games', 'coding'), ); // using for… in for (let key in student) ( let value; // get the value value = student(key); console.log(key + " - " + value); )
Ieșire
nume - John vârstă - 20 de hobby-uri ((„lectură”, „jocuri”, „codare”)
În exemplul de mai sus, for… in
bucla este utilizată pentru a parcurge student
obiectul.
Valoarea fiecărei chei este accesată utilizând student(key)
.
Notă : for… in
Bucla va conta și proprietățile moștenite.
De exemplu,
const student = ( name: 'John', age: 20, hobbies: ('reading', 'games', 'coding'), ); const person = ( gender: 'male' ) // inheriting property student.__proto__ = person; for (let key in student) ( let value; // get the value value = student(key); console.log(key + " - " + value); )
Ieșire
nume - Ioan vârsta - 20 de hobby-uri ((„lectură”, „jocuri”, „codare”) sex - bărbat
Dacă doriți, puteți parcurge numai proprietatea obiectului folosind hasOwnProperty()
metoda.
if (student.hasOwnProperty(key)) ( ++count: )
Exemplul 2: Buclă prin obiect folosind Object.entries și pentru … of
// program to loop through an object using for… in loop const student = ( name: 'John', age: 20, hobbies: ('reading', 'games', 'coding'), ); // using Object.entries // using for… of loop for (let (key, value) of Object.entries(student)) ( console.log(key + " - " + value); )
Ieșire
nume - John vârstă - 20 de hobby-uri ((„lectură”, „jocuri”, „codare”)
În programul de mai sus, obiectul este buclat folosind Object.entries()
metoda și for… of
bucla.
Object.entries()
Metoda returneaza un array de perechi cheie / valoare unui obiect dat lui. for… of
Bucla este utilizat pentru bucla printr - o matrice.