我正在使用Angular作爲我的框架。每當數組發生變異時,我都會調用函數。每次調用這個函數時,我需要檢查數組是否有重複的項目,如果需要,我需要編輯原始項目並從數組中刪除最後一項。檢查數組是否有重複的項目,如果它確實比我需要改變原始項目並刪除最後一個重複項目
我在建購物車。所以當重複的項目被添加到數組時,我需要更改原始項目中的數量值並刪除最後一個推送項目。
組件功能:
ngDoCheck() {
var changes = this.differ.diff(this.shoppingCart); // check for changes
if (changes) {
clearTimeout(this.timer);
this.cartOpen = true;
this.itemsInCart = this.numberOfItemsinCart(this.shoppingCart);
this.cartTotal = this.totalCartAmount(this.shoppingCart);
//check if this.shoppingCart has a duplicate item
//if array does have a duplicate
//change qty value in original item and
//remove the last item added
}
}
我的對象比如數組:
{
"id": 6,
"product_name": "name of product",
"sku": "26-008b",
"description": "description of product",
"product_link": "link",
"cat_id": "categoryId",
"cat_name": "Category name",
"related_products": [],
"sub_cat_name": "sub category name",
"price": price,
"qty": 1
}
任何幫助將不勝或理解,因爲我的想法,在此代碼一直盯着太久。
控制之前的複製,並相應地插入新記錄到陣列或更新現有的r ecord是合理的。 –
在這裏看到我的答案。如果有幫助,請檢查我的答案:https://stackoverflow.com/questions/46087273/angular-2-remove-duplicate-values-from-an-array –