Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialJosh Bennett
15,258 PointsIt is only printing the last item in the array.
My code looks the same as in the video, I think. I've checked it repeatedly but...no dice.
Here's my code
var playList = [
'I Did It My Way',
'Respect',
'Imagine',
'Born to Run',
'Louie Louie',
'Maybellene'
];
function print(message) {
document.write(message);
}
function printList ( list ) {
var listHTML = '<ol>';
for ( var i = 0; i < list.length; i += 1 ) {
listHTML = '<li>' + list[i] + '</li>';
}
listHTML += '</ol>';
print(listHTML);
}
printList(playList)
Julie Myers
7,627 PointsHere is the coding that works. The main issue is you were missing the plus operator after listHTML inside the for loop.
var playList = [
'I Did It My Way',
'Respect',
'Imagine',
'Born to Run',
'Louie Louie',
'Maybellene'
];
function print(message) {
console.log(message);
}
function printList (list) {
var listHTML = '<ol>';
for (var i = 0; i < list.length; i++) {
listHTML += '<li>' + list[i] + '</li>';
}
listHTML += '</ol>';
print(listHTML);
}
printList(playList);
3 Answers
akak
29,445 PointsYou forgot a plus sign in your loop:
for ( var i = 0; i < list.length; i += 1 ) {
listHTML = '<li>' + list[i] + '</li>'; // it should be listHTML +='<li> ...rest of the code
}
Without it you were constantly overriding previous value and that's why only the last one is printed out. Cheers.
Austin Whipple
29,725 PointsGood catch!
Austin Whipple
29,725 PointsGood catch!
Austin Whipple
29,725 PointsSo your code looks like it should run fine except for the missing semicolon at the end of the last line. Check out this other Community conversation about a similar issue. Might help.
Josh Bennett
15,258 Pointsof course. Thanks!
Austin Whipple
29,725 PointsAustin Whipple
29,725 PointsHey Josh, I updated your question with some code block markup. Helps readability a bit.