2012-04-11 10 views
1

Ich habe den folgenden Code:JavaScript Verwendung von Variablen für die Objektschlüssel und Werte

pub.call_response = function() { 
      return { 
       units: [ 
        { 
         test_attributes: { 

         } 

        } 
       ] 
      }; 
     }; 

ich eine Reihe von Variablen, die ich für die Schlüssel/Werte in test_attributes verwenden müssen, wie folgt:

var key1 = something; 
var key2 = something; 
var value1 = something; 
var value2 = something; 

pub.call_response = function() { 
       return { 
        units: [ 
         { 
          test_attributes: { 
           key1: value1, 
           key2: value2 
          } 

         } 
        ] 
       }; 
      }; 

Offensichtlich funktioniert das nicht. Hat jemand irgendwelche Ideen, wie man so etwas macht? Die Verwendung von jQuery ist akzeptabel.

Danke!

Antwort

5

Sie

tun sollten
var key1 = something; 
var key2 = something; 
var value1 = something; 
var value2 = something; 

var attributes = {}; 

attributes[key1] = value1; 
1

Um die Eigenschaft prop auf dem Objekt obj (dh prop.obj) verweisen Sie auch []

So die eckigen Klammern verwenden können, sind die folgenden äquivalent:

var x = prop.obj; 

var key = "obj"; 
var t = prop[key]; 
1
var key1 = something; 
var key2 = something; 
var value1 = something; 
var value2 = something; 

pub.call_response = function() { 
    var item = { 
     test_attributes: {} 
    }; 
    item.test_attributes[key1] = value1; 
    item.test_attributes[key2] = value2; 

    var obj = { 
     units: [item] 
    }; 

    return obj; 
}; 
0
var key1 = something; 
var key2 = something; 
var value1 = something; 
var value2 = something; 

pub.call_response = function() { 
    var u = {}; 
    u[key1] = value1; 
    u[key2] = value2; 

    return { 
     units: [{ 
      test_attributes : u 
     }] 
    }; 
}; 
-1
var obj = {}; 
obj[key1] = value1; 
obj[key2] = value2; 

return { 
    units: [ { test_attributes: obj } ] 
}; 
Verwandte Themen