Dynamic суммирующий в качестве ключевого значения объекта
var dataJson = JSON.stringify({
"11501": {
"Name": "11501",
"RecipeName": "N",
"Time": 10,
"Ingredient1ID": 1,
"Ingredient1Quantity": 2,
},
"11502": {
"Name": "11502",
"RecipeName": "N",
"Time": 10,
"Ingredient1ID": 2,
"Ingredient1Quantity": 2,
},
});
var jsonobject = JSON.parse(dataJson);
element = {};
function addElement(e, t) {
element[jsonobject[e]['Ingredient1ID']] += jsonobject[e]['Ingredient1Quantity'];
console.log(element);
}
<button type="button" class="btn bg-purple btn-flat margin" onclick="addElement(11501,10);">
<i class="fa fa-plus"></i> Add to queue
</button>
<button type="button" class="btn bg-purple btn-flat margin" onclick="addElement(11502,10);">
<i class="fa fa-plus"></i> Add to queue item2
</button>
addElement есть функция OnClick его предполагается подвести количество элемента [ключ] на каждый клик, если ключ существует, то он должен добавить значение, такие как + =.
В настоящее время он выводит объект {11001: NaN}, поскольку он не имеет базового значения. Я не могу обеспечить базовое значение для ключа, так как они являются динамическим номер Примером:
Сначала нажмите
Объекта {ID: Кол-во}
Объекта {11501: 2}
Объекта {11501: 2 + 2}
Есть ли возможность реализовать эту функциональность? Это может быть массив, если его проще.
https://jsfiddle.net/fxfLemtu/
я не могу проверить свой код, потому что некоторые части отсутствуют, но я полагаю, что addElement вызывается из события и, следовательно, параметр «е» это событие, попробуйте поставить т вместо e. – misterwolf
e is id t is name – user2945583
, пожалуйста, добавьте полный и рабочий код, из того, что вы опубликовали, вы явно добавляете строки – Ionut