This community-built FAQ covers the “Placholder” exercise from the lesson “Functions”.
Paths and Courses
This exercise can be found in the following Codecademy content:
Learn How to Code
FAQs on the exercise Putting It All Together
Join the Discussion. Help a fellow learner on their journey.
Ask or answer a question about this exercise by clicking reply ( ) below!
Agree with a comment or answer? Like ( ) to up-vote the contribution!
Need broader help or resources ? Head here .
Looking for motivation to keep learning? Join our wider discussions .
Learn more about how to use this guide.
Found a bug ? Report it!
Have a question about your account or billing? Reach out to our customer support team !
None of the above? Find out where to ask other questions here !
Hello, I’m so confused! This is what I have done, but I keep getting an error (“expected variable ‘result’ to be defined”)
// Define the ‘makeSandwich()’ function
function makeSandwich(topping1, topping2) {
sandwich = ‘bread’
sandwich =+ sandwich + ‘topping1’
sandwich =+ sandwich + ‘topping2’
sandwich =+ ‘bread’
result = makeSandwich(‘burger patty’, ‘pickles’)
}
Help please! I really wanna master this so I can move on confidently. Thanks!
3 Likes
mtf
February 13, 2019, 11:46pm
4
kellebelle99:
=+
All compound assignments are written with the operation first, then assignment.
a += 1
which is the equivalent of,
a = a + 1
The addition takes place first, then the assignment.
Note that when using the augmentation operator we do not repeat the variable on the right hand side.
sandwich = bread
sandwich += topping1
Note also that topping1
and topping2
are variables so we would never write them in quotes.
3 Likes
catower
Split this topic
September 26, 2019, 11:03pm
5
8 posts were split to a new topic: What does + ','
mean?
Hello,
What if I have 7 “layers” and want to have them flexible and changeable? I was trying this (below) but it returns a sandwich with bread only (“One or more ingredients are not valid”). Can you see the mistake?
topping1 = ‘jelly’
topping2 = ‘pickles’
function makeSandwich(topping1, topping2, topping1, topping2, topping1, topping2, topping1) {
sandwich = ‘bread’ + ‘,’
sandwich += topping1 + ‘,’
sandwich += topping2 + ‘,’
sandwich += topping1 + ‘,’
sandwich += topping2 + ‘,’
sandwich += topping1 + ‘,’
sandwich += topping2 + ‘,’
sandwich += topping1 + ‘,’
sandwich += ‘bread’
return sandwich
}
result = makeSandwich(‘jelly’, ‘pickles’)
mtf
May 28, 2019, 9:28pm
7
Please post a link to the exercise. (Copy the URL in the location bar and paste into a reply.)
mtf
May 28, 2019, 10:10pm
9
ruby5774027993:
function makeSandwich(topping1, topping2, topping1, topping2, topping1, topping2, topping1) {
The parameter variables should all be unique. Work with the two parameters given, topping1 and topping2.
1 Like
Would someone be able to tell me what’s the reasoning behind writing the function in multiple steps as…
function makeSandwich(topping1, topping2) {
sandwich = ‘bread’ + ‘,’
sandwich += topping1 + ‘,’
sandwich += topping2 + ‘,’
sandwich += ‘bread’
return sandwich
}
…and not as a single row?
function makeSandwich(topping1, topping2) {
sandwich = ‘bread’ + ‘,’ + topping1 + ‘,’ + topping2 + ‘,’ + ‘bread’
return sandwich
}
Is it just to make it easier to read?
mtf
June 5, 2019, 7:51pm
11
Quite possibly, yes. At this point is difficult to say how comfortable the new learner is with concepts such as concatenation.
ES6 gives us a really special tool for constructing a string from literals and variables… The template literal syntax.
function makeSandwich(topping1, topping2) {
return `bread, ${topping1}, ${topping2}, bread`
}
This will be covered in the lessons on strings and string concatenation so let this slide for the time.
2 Likes
Hi, can someone help me brake down the instructions in { }, I don’t understand the logic behind it
function makeSandwich(topping1, topping2) {
sandwich = ‘bread’ + ‘,’
sandwich += topping1 + ‘,’
sandwich += topping2 + ‘,’
sandwich += ‘bread’
return sandwich
}
mtf
June 11, 2019, 7:39pm
13
Technically, there is no logic, only inline assignments. The first line in the function block defines a string object, sandwich
and assigns the first word concatenated with a comma string character. The next three lines continue the assignment using an assignment operator that extends the string in one step. +=
is sometimes referred to as an augmentation operator .
The finished result will be string composed of the assignments in all four lines.
console.log(sandwich)
// bread,ham,cheese,bread
catower
Split this topic
September 27, 2019, 5:10pm
19
3 posts were split to a new topic: What does return
do?
Hi, I’m having the same problems as kellebelle99,
https://www.codecademy.com/paths/code-foundations/tracks/learn-how-to-code/modules/bop-ii/lessons/bop-functions/exercises/all-together
I tried to running the function that was already set up, but that doesn’t make the burger sandwich so I don’t know where I messed up.
Could someone explain mtf in a different way?
Hello, @dog_geist ! Welcome to the forum.
If you wouldn’t mind copying and pasting the code you are having trouble with in a reply to this post we’ll be happy to try to help. Please click on the </>
icon before pasting your code, and then paste it in the space indicated. Without seeing the code in question, it is really difficult to speculate what may be wrong.
Hi, thanks for responding, but interestingly enough it works now.
// Define the 'makeSandwich()' function
function makeSandwich(topping1, topping2) {
sandwich = 'bread' + ','
sandwich += topping1 + ','
sandwich += topping2 + ','
sandwich += 'bread'
return sandwich
}
// Call the function and store the returned value in 'result'
result = makeSandwich('peanut butter', 'jelly')
It’s very odd, because I did nothing different. At first it wouldn’t even run the default example.
1 Like
I guess we chalk it up as a glitch. Happy coding!
1 Like
Hi midlinder,
I have the same problem as dog_geist. My code is the same as his, but it doesn’t run. I get an error and can’t move on.
Can you please help me?
If your situation is anything like mine, just wait a couple of hours and get back to it.