我在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
变量值定义,因此每次调用我的函数时它都会创建一个新字段。但我找不到任何解决方案来连接两者。
由于
答案 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 强>