2017-02-03 6 views
0

Ich fange gerade mit JavaScript an und ich möchte etwas Hilfe auf einer Schleife, die ich durchführen muss. Ich habe viele Codeschnipsel gelesen und das scheint mir immer noch fremd zu sein, und ich würde mich über einige Hinweise freuen.Looping durch Objekteigenschaften, von denen eine ein Array (JS) ist

Ein Objekt (Auto) hat fünf Eigenschaften, von denen eine ein Array ist. Ich muss das Objekt durchlaufen und jeden dieser Werte drucken. Was ist ein guter, einfacher Weg dies zu tun - entweder mit einer einzelnen Schleife oder einer verschachtelten? Ich habe versucht, einen Zähler zu verwenden und diesen Wert als Indexnummer für die Eigenschaften und das Array zu verwenden, aber war nicht erfolgreich. Auch hier bin ich sehr neu und deshalb konnte ich mein Beispiel nicht mit den von mir gelesenen verbinden.

var options = ["hard top", "power windows", "racing stripe", "fog 
    lights"]; 

    var car = {color: "red", make:"Chevrolet", model:"Camaro", 
    year:"1967", options}; 

    //I need a loop where with each iteration a property value of the 
    //car and an option is printed 

    document.write(SOMETHING); 
+0

Willkommen bei Stack-Überlauf! Wir sind eine Frage-und-Antwort-Seite, kein Coder-for-Hire-Service. Bitte erläutern Sie, was Sie bisher versucht haben und warum es nicht funktioniert hat. Siehe: [Warum ist "Kann mir jemand helfen?" keine tatsächliche Frage?] (http://meta.stackoverflow.com/q/284236) –

+0

Auch verwandt: [Access/Prozess (verschachtelte) Objekte, Arrays oder JSON] (http://stackoverflow.com/q/11922383/218196) –

Antwort

0

Diese Schleife wird durch jede key (z.B. color, make, etc.) des car Objekts und die key und die value drucken.

Object.keys(car).forEach(key => { 
    console.log(key, car[key]); 
}); 

Will Ausgang der folgende:

color red 
make Chevrolet 
model Camaro 
year 1967 
options [ 'hard top', 'power windows', 'racing stripe', 'fog lights' ] 
+0

Nach der Frage heißt es '// Ich brauche eine Schleife, wo bei jeder Iteration ein Eigenschaftswert der // Auto und eine Option gedruckt wird – rasmeister

+0

Vielen Dank. –

0
Object.keys(car).forEach(function(key, idx) { 
    if (key !== options) { 
    console.log(car[key]; 
    console.log(car.options[idx]); 
    } 
} 

Dies wird eine Eigenschaft des Autos auf jeder Iteration ausdrucken und eine der Auto-Optionen, die ich war die Forderung glauben.

Object.keys(car) gibt Ihnen eine Reihe der Eigenschaften des Autos und dann iterieren Sie über jedes. In diesem Fall etwas komplizierter, wenn Sie eine Eigenschaft und eine Option für jede Schleife wünschen.