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

Mukhammadkhon Tadjiev
Mukhammadkhon Tadjiev
3,537 Points

Hi, it doesn't behave like in the video n list comes out only once quit is entered how to solve this issue so it works?

How to make these prompt dialogs pop up and ask you like in the video? Its mentioned that its a little outdated though I'm very curious like how would it be possible to solve this issue?

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 of the produce 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. '); } } }

4 Answers

Jennifer Nordell
Jennifer Nordell
Treehouse Staff

Hi there, Mukhammadkhon Tadjiev ! Nope, it doesn't work like it does in the video. And no, there is no fix. This is because the behavior of browsers have changed how they handle loops just across the board. Take a look in the Teacher's Notes under Important Update where Dave explains this.

Hope this helps! :sparkles:

Thanks! I had the same problem.

Sung-Fu Han
Sung-Fu Han
3,890 Points

Same problem here. I use chrome windows 64bit 74.0.3729.169.

Jeremiah Quill
Jeremiah Quill
8,538 Points

you can add breaks in the loop after each instance where this occurs and it will print out the correct message, but also stop the loop. Still needs someway to restart the loop after it's broken.