Credo che questa domanda sarà abbastanza facile per quelli che hanno giocato con java script/jquery.Jquery, controlla se esiste un valore nell'array o meno
var arr = new Array();
$.map(arr, function() {
if (this.id == productID) {
this.price = productPrice;
}else {
arr.push({id: productID, price: productPrice})
}
}
Immagino che il codice sopra spieghi ciò che voglio in modo molto semplice. Immagino che questo $ .map funzioni come questo, ma sfortunatamente non sono riuscito a ottenere risultati con questo.
Qual è il modo più semplice ed elegante per farlo? Vado veramente attraverso tutti gli array solo per scoprire se il valore di una chiave è lì o no?
Jquery ha qualcosa come isset($array['key'])
?
EDIT
ho cercato di utilizzare inArray ma continua ad aggiungere oggetto matrice, anche se v'è una corrispondenza.
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 informazione extra; 'added = true' deve essere all'interno della condizione. – Revenant