クラスプロジェクトのコードを書いていますが、次のコードで問題が発生しています。
    var sellEverything = function(gold)
{
    console.log("You decide to buy EVERYTHING.");
    var holder;
    while (storeStock.length > 0)
    {
        console.log(storeStock);
        var curItem = storeStock.pop();
        console.log(curItem);
        console.log("You buy a " + curItem.itemName + " for " + curItem.itemPrice + " gold.");
        gold -= curItem.itemPrice;
        console.log(gold + " gold remaining");
    };
};
観点から見ると、storeStockは6つのオブジェクトを含む配列です。curItem変数が未定義としてコンソールに表示されるので、配列からオブジェクトをポップすることさえ可能ですか、それとも問題は別のものですか?
storeStockに入力されるデータは次のとおりです。
    "items":
    [
        {"itemName":"Sword", "itemPrice":100},
        {"itemName":"Bow", "itemPrice":240},
        {"itemName":"Shield", "itemPrice":120},
        {"itemName":"Lance", "itemPrice":300},
        {"itemName":"Potion", "itemPrice":50},
        {"itemName":"Gem of supreme power", "itemPrice":5},
        {"itemName":"Better movie script", "itemPrice":139083882}
    ]
明らかな質問の場合は事前に申し訳ありません。
編集:わかりました。わかりやすくするために、コード全体を表示する必要があると思います。
var itemList =
{
"items":
    [
        {"itemName":"Sword", "itemPrice":100},
        {"itemName":"Bow", "itemPrice":240},
        {"itemName":"Shield", "itemPrice":120},
        {"itemName":"Lance", "itemPrice":300},
        {"itemName":"Potion", "itemPrice":50},
        {"itemName":"Gem of supreme power", "itemPrice":5},
        {"itemName":"Better movie script", "itemPrice":139083882}
    ]
};
//private class ItemStore
var ItemStore = function()
{
    var storeStock = [];
    //array in function
    var setStockList = function(stockArray)
    {
        if (stockArray instanceof Array)
        {
            var i = stockArray.length;
            for (i; i > 0; i--)
            {
                storeStock.push(stockArray[i]);
            }
            //yes, I could have just done the loop forwards, but wanted to do it this way.
            storeStock.reverse(); 
        };
    };
    //array out function
    var getStockList = function()
    {
        return (storeStock);
    };
    var sellEverything = function(gold)
    {
        console.log("You decide to buy EVERYTHING.");
        var holder;
        while (storeStock.length > 0)
        {
            console.log(storeStock);
            var curItem = storeStock.pop();
            console.log(curItem);
            console.log("You buy a " + curItem.itemName + " for " + curItem.itemPrice + " gold.");
            gold -= curItem.itemPrice;
            console.log(gold + " gold remaining");
        };
    };
    return{
        "setStockList": setStockList,
        "sellEverything": sellEverything,
        "getStockList":getStockList
    };
};
また、setStockListメソッドの呼び出し方法にも注意してください。
    store.setStockList(itemList.items);