Я считаю, что этот вопрос будет довольно легким для тех, кто играл с java script/jquery.
var arr = new Array();
$.map(arr, function() {
 if (this.id == productID) {
   this.price = productPrice;
 }else {
  arr.push({id: productID, price: productPrice})
 }
}
Я предполагаю, что приведенный выше код объясняет, что я хочу по-настоящему просто. Я бы предположил, что этот $.map будет работать так, но, к сожалению, я не смог получить результаты с этим.
Какой самый простой и элегантный способ сделать это? Действительно ли я просматриваю весь массив, чтобы узнать, есть ли значение ключа или нет?
Есть ли в JQuery что-то вроде isset($array['key'])?
ИЗМЕНИТЬ
Я попытался использовать inArray, но он продолжает добавлять объект к массиву, даже если есть совпадение.
if ( $.inArray(productID, arr) > -1) {
   var number = $.inArray(productID, arr);
   orderInfo[number].price = parseFloat(productPrice);
}else {
   orderInfo.push({id:productID, price:parseFloat(productPrice)});
}