Creo que esta pregunta será bastante fácil para los que jugaron con java script/jquery.Jquery, verificando si existe un valor en el conjunto o no
var arr = new Array();
$.map(arr, function() {
if (this.id == productID) {
this.price = productPrice;
}else {
arr.push({id: productID, price: productPrice})
}
}
Creo que el código anterior explica lo que quiero de una manera muy simple. Me imagino que este $ .map funcionaría así, pero lamentablemente no pude obtener resultados con esto.
¿Cuál es la forma más simple y elegante de hacer esto? ¿Realmente reviso todo el conjunto solo para ver si el valor de una clave está allí o no?
¿Jquery tiene algo así como isset($array['key'])
?
EDITAR
He intentado utilizar InArray pero sigue agregando objeto a la matriz incluso si existe una coincidencia.
if ($.inArray(productID, arr) > -1) {
var number = $.inArray(productID, arr);
orderInfo[number].price = parseFloat(productPrice);
}else {
orderInfo.push({id:productID, price:parseFloat(productPrice)});
}
Solo 1 información extra; 'added = true' debe estar dentro de la condición. – Revenant