JavaScript使用变量作为对象键和值

3
我有以下代码:
 pub.call_response = function() {
            return {
                units: [
                    {
                        test_attributes: {

                        }

                    }
                ]
            };
        };

我有一组变量需要用作test_attributes中的键/值,如下所示:
var key1 = something;
var key2 = something;
var value1 = something;
var value2 = something;

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

                        }
                    ]
                };
            };

显然,这样是行不通的。有没有人有类似的想法?使用jQuery是可以接受的。 谢谢!
5个回答

8
你需要做的是:

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

var attributes = {};

attributes[key1] = value1;

1
要引用对象 obj 上的属性 prop(即 prop.obj ),您也可以使用方括号 [] 因此,以下表示方式是等效的:
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 } ]
};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接