Tengo una matriz en mongodb, que contiene objetos con tipo de cadenas. Estos objetos son solo números, pero se guardan en mongodb como cadenas. Quiero multiplicar cada elemento en la matriz, pero estoy atascado, porque cuando convierto los elementos de la matriz de cadena a número, pero no los multiplico correctamente. Aquí está mi código para la matriz llamada quantity , que se convierte de cadena a números:
<div> <p>Serving: <input type="number" name="serving" class="serving" step="any" value="2" min="1"></p> <input type="hidden" id="previousServing" value="5"/> </div> <div> <li class="ingredient"> <% recipe.quantity.forEach(function(quantity, index){ numarray = parseInt(quantity.toString()) %> <span class="amount" id="amount"><%= numarray %></span> <% }) %> </li> </div>Aquí está mi código javascript, donde quiero hacer la operación matemática con cada elemento de la matriz (multiplicar con cualquier número, lo que el usuario agrega en el cuadro de texto):
<script> $(function() { $('.serving').bind('keyup', function(event) { var previousValue = parseInt($("#previousServing").val()); var newValue = parseInt($(event.target).val()); if (previousValue && newValue) { $('.ingredient').each(function(index, elem) { var ingredientNow = $('.amount', elem); var oldIngredientAmount = ingredientNow.text(); var newIngredientAmount = oldIngredientAmount * newValue / previousValue; ingredientNow.text(newIngredientAmount); }); $('#previousServing').val(newValue); } }); }); </script> ¿Dónde debería estar el problema? Probé la matriz convertida con typeoff y cada elemento era number , y la salida son números aleatorios, porque cuando hice los cálculos con la matriz de cadenas, obtuve números de salida, pero estos eran incorrectos y hacía lo mismo con la matriz convertida .