我想使用以下代码在Javascript中为数组添加新值:
$rootScope.shoppingCart = new Array();
$rootScope.addToShoppingCart = function(item){
var quantity = 1;
var product = [];
for(var i=0; i< $rootScope.shoppingCart.length; i++){
if($rootScope.shoppingCart[i].productNumber.indexOf(item.product.productNumber) > -1){
quantity = $rootScope.shoppingCart[i].quantity+1;
$rootScope.shoppingCart[i].quantity = quantity;
break;
}
}
if(quantity == 1){
product = {
name: item.product.brandName + " "+ item.product.productNumber,
price: item.price,
image: item.product.image1,
quantity: quantity,
productNumber: item.product.productNumber,
productId: item.product._id
};
$rootScope.shoppingCart.push(product);
}
}
但是当我想通过&#39; addToShoppingCart
&#39;添加新产品到阵列时函数我收到$rootScope.shoppingCart.push is not a function
错误。
我的眼睛我没有任何错误,因为我想将一个数组推入一个数组,但它不断出现这个错误。
有没有人看到我在这里做错了什么?
答案 0 :(得分:3)
您只需将以下代码添加到&#39; loadcart&#39;功能
Array.prototype.push.apply($rootscope.shoppingCart, response.data)