我正在尝试将对象推送到数组,如果用户更改了select选项,则再次按下该对象,但用相同的product_id替换前一个对象。
任何帮助都会感激不尽,谢谢。
function variationCheck(data) {
for (var i = 0; i < variationArray.length; i++) {
if (variationArray[i].product_id === data.id) {
var pushData = {'product_id':data.id,'variation_id':data.variation,'attribute_covers':data.covers,'attribute_extras':data.extras};
variations.push(pushData);
console.log(variations);
for(var c = 0; c < variations.length; c++) {
if(variations[c].product_id === data.id) {
variations.splice(c, 1);
var pushData = {'product_id':data.id,'variation_id':data.variation,'attribute_covers':data.covers,'attribute_extras':data.extras};
variations.push(pushData);
console.log(variations);
}
}
};
};
};
答案 0 :(得分:0)
使用Object而不是Array作为数据结构。到目前为止,据我所知,product_id
是唯一的,所以它应该是关键。
function variationCheck(data) {
variationsObject[data.productId] = data;
};