【发布时间】:2011-12-14 10:09:25
【问题描述】:
我相信对于那些玩过 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)});
}
【问题讨论】:
-
$.inArray()在大多数情况下都不起作用。最好使用jQuery.inArray()
标签: javascript jquery arrays loops