JavaScript:如何从变量中创建对象属性名称和值
JavaScript: How to create object property name and value from variables
我正在开发选择收集应用程序,但我在处理对象时遇到了困难:用户有卡片列表,每张卡片都有选择列表,每个选择都有id和价格。我想收集每个卡的用户选择,然后计算最终价格。我不知道卡片的确切名称,它们会被生成。我只知道所选卡片的类别或卡片列表计数。
数据收集:
var datacollection = {
shape: {
itemId: 1,
price: 10
},
countmoney: function () {
var cash = 0;
$.each(this, function (id, item) {
if (typeof (item) != 'function') {
cash += item.price;
}
});
return cash + ' $';
}
};
从.click(function)收集的数据{
var cardClass = 'color';
var choiceId = 2;
var choicePrice = 50;
我可以插入新数据,但前提是我知道卡的名称
datacollection.color = {
itemId: choiceId,
price: choicePrice
};
但如果我不知道卡片的可能名称呢?应该采用括号表示法。。但它不起作用。
cardClassTwo = 'material';
datacollection[cardClassTwo]['itemId'] = choiceId;
datacollection[cardClassTwo]['price'] = choicePrice;
// Uncaught TypeError: Cannot set property 'itemId' of undefined
console.log(datacollection.countmoney());
要玩的代码:http://jsfiddle.net/F5pt6/
像以前一样将datacollection['material']
初始化为对象。
此外,请正确参考值(如果它们在您以前的对象中):
datacollection[cardClassTwo] = {
itemId: datacollection.color.itemId,
price: datacollection.color.price
};
相关文章:
- 如何创建共享某些属性的对象
- JavaScript:如何从变量中创建对象属性名称和值
- 在 Javascript 中创建具有自己属性的对象数组
- 在 JavaScript 中创建对象和操作属性
- 如果我可以随时将任何属性插入对象,那么在javascript中创建类有什么用
- 使用循环和输入文本框创建对象属性名称
- 如何在 JavaScript 中创建具有对象属性的对象类
- 无法在严格模式下创建对象属性
- 创建具有变量属性的对象
- 基于对象属性创建数组
- 创建具有动态属性的对象数组
- 在默认情况下将可枚举设置为 false 的 JS 中创建对象属性的其他方法是什么
- 如何在 JavaScript 中基于另一个对象动态创建属性和对象
- 如何从子对象属性创建新数组
- 从 ES6 中内联的属性子集创建对象
- 如何在 javascript 中使用 Onclick 属性动态创建对象
- Javascript:给定函数列表,如何创建一个将这些函数作为属性的对象
- 使用JavaScript中的过滤元素属性创建对象
- 使用其他对象的属性创建对象
- 使用现有对象属性创建对象属性的Javascript