Hvordan gennemløber eller opregner jeg et JavaScript-objekt?
Jeg har et JavaScript-objekt som følgende:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};
Nu ønsker jeg at gennemløbe alle p
-elementer (p1
, p2
, p3
...) og få deres nøgler og værdier. Hvordan kan jeg gøre det?
Jeg kan ændre JavaScript-objektet, hvis det er nødvendigt. Mit endelige mål er at gennemløbe nogle nøgle-værdipar, og hvis det er muligt, vil jeg gerne undgå at bruge eval
.
2688
3
Du kan bruge
for-in
-loop'en som vist af andre. Du skal dog også sikre dig, at den nøgle, du får, er en faktisk egenskab ved et objekt og ikke kommer fra prototypen.Her er udklippet:
For-of med Object.keys() alternativ:
Bemærk brugen af
for-of
i stedet forfor-in
, hvis det ikke bruges, vil det returnere udefineret på navngivne egenskaber, og Object.keys() sikrer kun brugen af objektets egne egenskaber uden hele prototype-kædens egenskaberDu kan bare iterere over det som:
Bemærk, at
key
ikke overtager værdien af egenskaben, det er blot en indeksværdi.Bemærk: du kan gøre dette over arrays, men du vil også iterere over
length
og andre egenskaber.