Как мне нажать группу значений в массив с помощью Javascript push()?

Может ли кто-нибудь обнаружить ошибку здесь? Контрольная точка 1 срабатывает, но не контрольная точка 2. Не могу понять, что случилось с моим выражением.

2 ответа

items = {
 itemID: "B17",
 itemPrice: 17,
 itemQty: 1
};

не является массивом. Должен быть:

items =[{
 itemID: "B17",
 itemPrice: 17,
 itemQty: 1
}];


Проблема в том, что элементы не являются массивом, а объектом. Скрипт: http://jsfiddle.net/pCc9w/

весь код, исправлено:

function shoppingCart() {

 var item,
 price,
 qty;
 this.items = [{
 itemID: "B17",
 itemPrice: 17,
 itemQty: 1
 }];



};

 shoppingCart.prototype.addItem = function(item, price, qty) {
 alert("checkpoint 1");
 this.items.push({
 itemID: item, 
 itemPrice: price,
 itemQty: qty
 });
 alert("checkpoint 2");

 };
 cart = new shoppingCart();

 cart.addItem("b4",14,1);
 alert(cart.items[1].itemID);

licensed under cc by-sa 3.0 with attribution.