Arrays 此.items[id].size.pop不是函数
我正在尝试创建一个大小数组。我正在添加到数组中,它正在显示。我尝试使用Arrays 此.items[id].size.pop不是函数,arrays,node.js,express,methods,arr,Arrays,Node.js,Express,Methods,Arr,我正在尝试创建一个大小数组。我正在添加到数组中,它正在显示。我尝试使用.pop()删除,它给出了本文标题中列出的错误 this.add = function(item, id, size){ var storedItem = this.items[id]; if(!storedItem) { storedItem = this.items[id] = {item: item, qty: 0, price: 0, size: []}
.pop()删除代码>,它给出了本文标题中列出的错误
this.add = function(item, id, size){
var storedItem = this.items[id];
if(!storedItem) {
storedItem = this.items[id] = {item: item, qty: 0, price: 0, size: []}. <------
}
storedItem.size += size;
storedItem.qty++;
storedItem.price = storedItem.item.price * storedItem.qty;
this.totalQty++;
this.totalPrice += storedItem.item.price;
}
this.reduceByOne = function(id){
this.items[id].size.pop(). <------------
this.items[id].qty--;
this.items[id].price -= this.items[id].item.price;
this.totalQty--;
this.totalPrice -= this.items[id].item.price;
if(this.items[id].qty <= 0) {
delete this.items[id];
}
}
您的意思是在这里使用推送而不是+=
storedItem.size.push(size);
您正在此行将数组更改为另一种类型:storedItem.size+=size代码>。。。e、 g.[]+1
产生“1”
这就是问题所在,现在已经解决了,谢谢你的评论。都德。脸掌。。。是的,那把它修好了。非常感谢你。
storedItem.size += size;
storedItem.size.push(size);