JavaScript JavaScript Loops, Arrays and Objects Tracking Multiple Items with Arrays Useful Array Methods

Prompt Not showing up when I refresh page

I've been looking at this code for quite some time and can't tell what I'm doing differently from Dave. The prompt won't even come up when I refresh the page. Help.

var inStock = [ 'apples', 'eggs', 'milk', 'cookies', 'cheese', 'bread', 'lettuce', 'carrot', 'broccoli', 'pizza', 'potato', 'crackers', 'onion', 'tofu', 'frozen dinner', 'cucumber']; var search;

function print(message) { document.write( '<p>' + message + '</p>'); }

while (true) { search = prompt("Search for a product in our store. Type 'list' to show all teh products and 'quit' to exit"); search = search.toLowerCase(); if (search === 'quit') { break; } else if (search === 'list') { print(inStock.join(', ') ); } else { if (inStock.indexOf(search) > -1) { print('Yes, we have ' + search + ' in the store.'); } else { print( search + ' is not in stock.'); }

}

2 Answers

Christopher Villarreal
Christopher Villarreal
6,602 Points

I looked at your code and so far I see you missed a closing curly bracket on the last else statement in the while loop. That should be the fix. Good luck on your coding!

while (true) { 
    search = prompt("Search for a product in our store. Type 'list' to show all teh products and 'quit' to exit"); 
    search = search.toLowerCase(); 
    if (search === 'quit') { 
        break; 
    } else if (search === 'list') { 
        print(inStock.join(', ') ); 
    } else { 
        if (inStock.indexOf(search) > -1) { 
            print('Yes, we have ' + search + ' in the store.'); 
        } else { 
            print( search + ' is not in stock.'); 
        }
    } //This is the missing bracket
}

Thank you Christopher! I long for the day when those little mistakes jump out at me.