在javascript中使用变量连接对象字段

时间:2014-03-26 14:22:20

标签: javascript object concatenation

我在javascript中构建一个对象来动态存储数据。

这是我的代码:

var id=0;
function(pName, pPrice) {
    var name = pName;
    var price = pPrice;
    var myObj = {
        id:{
            'name':name,
            'price':price
        },
    };
    (id++); // 
    console.log(myObj.id.name); // Acessing specific data
}

我希望我的id字段由id变量值定义,因此每次调用我的函数时它都会创建一个新字段。但我找不到任何解决方案来连接两者。

由于

3 个答案:

答案 0 :(得分:1)

您可以使用方括号语法创建和访问动态命名的字段:

var myObj = {};
myObj['id_'+id] = {
  'name':name,
  'price':price
}

答案 1 :(得分:0)

这是你想要的吗?

var myObj = {};
myObj[id] = {
     'name':name,
     'price':price
};

console.log(myObj[id]name); // Acessing specific data

答案 2 :(得分:0)

您可以使用[]来定义特定对象(myObj)的动态属性,例如

var myObj = {};
myObj[id] = {'nom':nom, 'prix':prix};

示例

function userDetail(id, nom, prix) {
    var myObj = {};
    myObj[id] = {'nom':nom, 'prix':prix};
    return myObj;   
}

var objA = userDetail('id1', 'sam', 2000);
var objB = userDetail('id2', 'ram', 12000);
var objC = userDetail('id3', 'honk', 22000);

console.log(objA.id1.nom); // prints sam
console.log(objB.id2.nom); // prints ram
console.log(objC.id3.prix);// prints 22000

[<强> DEMO