2017-04-21 7 views
0

Ich habe ein Problem mit einem Javascript Objekt. Wenn ich push für das Objekt verwende, sollten beide Teile den Wert einer Variablen annehmen. Aus irgendeinem Grund scheint sich jedoch nur valueOfName basierend auf der Variablen zu ändern. Ich brauche name, um sich auch zu ändern, im Moment scheint es zu nehmen, welcher Wert es geschrieben wird, wie mit oder ohne Anführungszeichen. Hier ist der relevante Code.Ändern der 'name' Eigenschaft des jquery Objekts

var obj = {}; 
obj.videoID = []; 
var terms = ['best','awesome','incredible','insane','great']; 
$.each(terms, function(cur, val){ 
    $.each(data.items, function(i, object) { 
     $.each(object.id, function(property, value) { 
      obj.videoID.push({val:value}); 
     }); 
    }); 
}); 

Gehe ich falsch? Oder gibt es etwas, das ich vermisst habe? Vielen Dank im Voraus für Ihre Hilfe.

Antwort

1

Erstellen Sie ein Objekt und verwenden Sie Bracket notation, um eine Eigenschaft mit dynamischem Namen zu erstellen, danach push() das Objekt zu array.

$.each(object.id, function(property, value) { 
    var dummy = {}; //Create object 
    dummy[val] = value; //create property and set value 
    obj.videoID.push(dummy); 
}); 
+0

Vielen Dank! Das hat perfekt funktioniert –

Verwandte Themen