2017-04-07 3 views
-1

brauche deine Hilfe für mein Problem. Lassen Sie sagen, ich habe ein Objekt und einen Array als meine Liste auf meinem Javascript wie folgt:Basic-Schleife für die Verwendung (Javascript) mit der Bedingung

 var hotel={ "electronic":[ 
 
     { "id":1, 
 
     "tv":"LG"}, 
 
    { "id":2, 
 
     "tv":"Polytron"}, 
 
    { "id":3, 
 
     "tv":"Panasonic"}, 
 
    { "id":4, 
 
     "tv":"Sony"}, 
 
     ] 
 
    } 
 
    var mylist=[1,2,1,4,2,3,2,4]; 
 
    var mytran; 
 
    var i=0; 
 
    
 
    while(i<mylist.length){ 
 
    if(mylist[i]===1){ 
 
    mytran=hotel.electronic[0].tv; 
 
    } 
 
    else if(mylist[i]===2){ 
 
    mytran=hotel.electronic[1].tv; 
 
    } 
 
    else if(mylist[i]===3){ 
 
    mytran=hotel.electronic[2].tv; 
 
    } 
 
    else if(mylist[i]===4){ 
 
    mytran=hotel.electronic[3].tv; 
 
    } 
 
    console.log(mytran); 
 
    i++; 
 
    } 
 

Der obige Code funktioniert, aber ich habe tatsächlich die Objektdaten aus meiner db, die ist habe nur 4 Objekt innerhalb des Arrays 'elektronisch'. Meine Sorge ist, wie wenn ich Hunderte Objekte auf meinem elektronischen Datenfeld habe. Es wird Hunderte von wenn auch noch haben. Denkst du, wir können meinen Code noch optimieren? Bitte deine Erklärung.

+0

Remove Index Wenn sonst, und fügen Sie hier ein klares Muster hinzu: 'mytran = hotel.electronic [i-1] .tv;'. –

Antwort

1

Sie so etwas wie dies wahrscheinlich tun könnte ersetzt:

mytran=hotel.electronic[mylist[i]-1].tv; 

dh nehmen den Wert von mylist [i] als

+0

Gut, ich denke, das ist das einfachere Basic, das ich verstehen muss. Danke – arrlancore

0

Ihre Schleife mit etwas werden könnte, wie

mylist.forEach(function(i) { 
    console.log(hotel.electronic[i - 1].tv); 
}); 
+0

Ja, das ist sehr sehr einfach für jeden, den ich vorher nie kenne. Ich denke, das wäre optimal als while-Schleife. Danke – arrlancore

Verwandte Themen