JavaScript este unul dintre limbajele de programare care vă permite să iterați pe proprietățile obiectelor fără a utiliza un instrument complex sau API.
În acest articol, vom explora modul în care această tehnică simplă a evoluat de-a lungul anilor și de ce avem ceva acum, care poate fi clasificat ca fiind elegant!
Să aruncăm o privire asupra codului de mai jos și apoi putem vorbi mai departe
var obj = { // Yes 'var'...bad old days!
a: 1,
b: 2,
c: 3,
};for (var key in obj) {
if (obj.hasOwnProperty(key)) { // <- Ahh...What's this??
var value = obj;
console.log(key, ' : ', value);
}
}
Output:
a : 1
b : 2
c : 3
Multora dintre noi le scapă verificarea obj.hasOwnProperty
În JavaScript, atunci când iterați, este foarte important să evitați iterația pe proprietățile părintești ale Obiectului( și proprietățile părintești ale acestuia și ale părintelui său…Ați prins ideea!). Lipsa poate avea ca rezultat un cod lent.
Din fericire, majoritatea dintre noi lucrează cu un fel de instrument de linting care va da un avertisment dacă nu faceți această verificare.
Modern way – Iteration in ES6+
Acum să trecem la JavaScript modern sau ES6+!
Recunoscând această problemă, echipa ECMA a adăugat suport pentru iterația simplă în ES6.
Și începe cu – Object.entries()
Metoda
Object.entries()
returnează un array de perechi de proprietăți enumerabileale unui obiect dat, în aceeași ordine ca cea furnizată de o buclă for…in (diferența fiind că o buclă for-in enumeră proprietățile și în lanțul prototipului).
De exemplu, codul de mai jos
const obj = {
a: 1,
b: 2,
c: 3
};
console.log(Object.entries(obj));
va da o ieșire ca mai jos, An array of arrays of arrays of two elements, where at index: 0, vom avea cheia și la indexul:1, vom avea valoarea