Try doing needsAdultTicket(studentList);
instead of console.log(needsAdultTicket(studentList));
.
There is a typo in the solution given.
Line 4 shows “for (let element of list) {”
should read “for (var element of list) {”
No it is not a typo, you can use both.
Var is a global variable… Let is a local one. Does this clarify about the differences? Difference Between Let and Var
If the sub of let for var is preventing my code from evaluating, then Grasshopper app is broken
No, what I meant by you can use both is that, you can use both but they are not interchangeable(at least not in every situation). So, if the app does not accept var, then it maybe be because var does not work there.
In this case, they actually are interchangeable, but I know what you mean. I’m simply saying that if my code was wrong because I used the “wrong” keyword to declare a variable in this example, then that should be considered a bug because, the keywords, are in fact interchangeable here.
If you are right and they are indeed interchangeable here then the app does not accept “var” it may be because it wants you to use “let”. That may not be a bug.
Hey there, it looks like you’ve got a string with the text '12'
, instead of the number 12
. Try deleting the string and using the num
key on the code keyboard to input the number.
True. Is your point that I shouldn’t worry about being creative and just follow instructions…?
I did not say that. However, for the app you can only follow the instructions a large majority of the time. You can be creative by writing code on your own.
Indeed. The app doesn’t allow for much creativity, even in the usage of let
vsconst
apparently
Hi there,
You are calling function inside console.log which is causing trouble. Try calling function without console.log in the last line.
Hope it helps,
Abdulla
Hey there, I’ve updated the solution code in the explainer to show var
, because currently that’s the only declarator that can be used in a for of loop in Grasshopper.
Outside of this app, it is better to use let
for a looping variable in a for of loop, as let
has a different (and better) scoping behavior than var
, which can prevent some weird bugs.
However, in the app, you’ll have to continue using var
in for of loops for now.
Hope this helps!
Ben
If (element[‘age’] > 12) {
console.log(element[‘name’])
}
each element is an object from the studentList array and writing element[‘age’] is accessing the value of the age property in each object and element[‘name’] is accessing the value of the name property in each object that satisfy the condition age>12.
Hope I’ve been able to help you!
Thank you very much I’ve been stuck with this topic