Welcome to the Treehouse Community
The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Jake Mcnaughton
4,944 Pointschallenge says I'm removing the wrong item from array but I'm certain that i removed the correct one?
A challenge for Swift says I'm removing the wrong item from the array but I'm certain that I'm removing the correct one! :-(,
heres the question: Challenge Task 4 of 4
Great job so far! Clearly you know how to add and read items from the array so in this challenge let's try getting rid of a value.
For this task, remove the 6th item from the array and assign the result to a constant named discardedValue.
To remove an item, use the method removeAtIndex() and put the index number in between parentheses that you want to remove.
Heres my code:
// Enter your code below
var arrayOfInts = [1, 2, 3, 4, 5, 6]
arrayOfInts.append(7)
arrayOfInts += [8]
let value = arrayOfInts[4]
arrayOfInts.removeAtIndex(5)
let discardedValue = arrayOfInts
What am I doing wrong? D:
2 Answers

Steven Deutsch
21,046 PointsHey Jake Mcnaughton,
The problem is with the following code:
arrayOfInts.removeAtIndex(5)
let discardedValue = arrayOfInts
When you remove an item from an array using the removeAtIndex() method, it returns a value that it removed for use. You can store it in a variable or constant. In this case, you're doing nothing with the returned value. Then, on the next line you're assigning your updated array to the constant discardedValue. However, what you really need to be assigning is the removed item.
This is the solution:
let discardedValue = arrayOfInts.removeAtIndex(5)
Good Luck

Paschal Ihenacho
914 PointsarrayOfInts.remove(at:5) let discardedValue = arrayOfInts[5]
Jake Mcnaughton
4,944 PointsJake Mcnaughton
4,944 PointsOh I see it now!, thank you so much :)