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 trialCongo Bergseteren
477 PointsTrying to figure out what I am doing wrong....
I feel like I am following all directions but I am returned with a "Bummer"
this is the assignment:
Now that we have an array declared, since it is a mutable array, we can add and remove items. Let's start by adding two more values to our existing array. There are two ways we can add items to an array and I want you to give both a try. Add one item to the array using the append method.
Remember: We invoke methods on an array using a period or dot. After the dot we write out the method name and a value to append in parentheses following the name.
Add another item to the array by concatenating an array. When concatenating, assign the results of the expression back to arrayOfInts.
// Enter your code below
var arrayOfInts = [1,2,3,4,5,6]
arrayOfInts.append(9)
arrayOfInts.append(10)
arrayOfInts += [7]
3 Answers
jcorum
71,830 PointsYou seem to have it. My guess is they only wanted you to add one value using each method (append or subscript), as this works:
var arrayOfInts = [1,2,3,4,5,6]
arrayOfInts.append(9)
arrayOfInts += [7]
let value = arrayOfInts[4]
Jason Anders
Treehouse Moderator 145,860 PointsHey Congo.
Your code is correct, except you added an extra line that wasn't asked for by the challenge.
It wanted only 1 value added with the append
method and 1 value added with the concat. method. So, just delete the second append you have and you're good to go.
arrayOfInts.append(9)
arrayOfInts += [7]
Keep Coding!
jcorum
71,830 PointsCongo, you asked: "Why is the last line true? Since arrays always start with 0, wouldn't that mean that the first number in the array (1) would be equal to 0? Which would cause the 5th number to be 6?"
var arrayOfInts = [1,2,3,4,5,6]
arrayOfInts.append(9)
arrayOfInts += [7]
let value = arrayOfInts[4]
The last line is neither true nor false. What it is doing is assigning the 5th value of the array to a constant named value. Re array indexing, arrayOfInts[0] is 1, arrayOfInts[1] is 2, arrayOfInts[2] is 3, etc. That is, since array indexing starts at 0, the 0th element, which is 1, as 0 as its index. The next element, 2, has 1 as its index, etc.
So, bottom line, arrayOfInts[5] is assigning the number 6 to value.
Yell if this still doesn't make sense!
Congo Bergseteren
477 PointsCongo Bergseteren
477 PointsThanks a lot! That worked.
Wanted to ask one more question. Why is the last line true? Since arrays always start with 0, wouldn't that mean that the first number in the array (1) would be equal to 0? Which would cause the 5th number to be 6?