Hvordan løkker jeg gjennom eller teller opp et JavaScript-objekt?
Jeg har et JavaScript-objekt som det følgende:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3"
};
Nå vil jeg løkke gjennom alle p
elementer (p1
, p2
, p3
...) og få deres nøkler og verdier. Hvordan kan jeg gjøre det?
Jeg kan endre JavaScript-objektet om nødvendig. Mitt endelige mål er å løkke gjennom noen nøkkelverdipar, og hvis mulig vil jeg unngå å bruke eval
.
2688
3
Du kan bruke "for-in"-sløyfen som vist av andre. Du må imidlertid også sørge for at nøkkelen du får er en faktisk egenskap til et objekt, og ikke kommer fra prototypen.
Her er kodestykket:
For-of med Object.keys()-alternativ:
Legg merke til bruken av
for-of
i stedet forfor-in
, hvis det ikke brukes vil det returnere udefinert på navngitte egenskaper, og Object.keys() sikrer bruk av bare objektets egne egenskaper uten hele prototype-kjeden egenskaperDu kan bare iterere over det som:
Merk at
key
ikke vil ta på seg verdien av egenskapen, det er bare en indeksverdi.Merk: du kan gjøre dette over matriser, men du vil også iterere over
lengden
og andre egenskaper.