There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply () below.
If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.
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!
filter is the method used on the array. The callback function is the arrow function – (word) => {return word.length >5} – . This arrow function is passed as an argument to the filter method.
so does the console not mind the extra un-needed parenthesis here? there was only 1 parameter for each but the template made it seem like you needed 2 i left the extra parenthesis and didn’t throw an error.
you call the .every method on interestingWords (not words), which contains words with length greater then 5 given the filter action you did earlier
but its still a bit of a guess from my side, given i can’t get your code to run without making assumptions. if you call every on words, you should get false indeed
i assume it refers to the result of the every method?
well, we have two arrays now: words and interestingWords, you call the .every method on the interestingWords array, which only contains words with more then 5 characters (courtesy to the filter method)
I was confused, as it does make a new variable were the new array is saved in. Hence the ‘true’ output as, indeed, the words more than 5 chars are in there…
Hi everyone!, could I ask why does .every() & .some() methods require a “return” statement and filter and other methods dont? is it because they return a Boolean?
The two functions take a predicate function, so yes, they will return a boolean. filter returns a list of values that once tested against an expression return true.
In the code editor, there is an array called words . We want to create a new array of interesting words. The first thing we want to do is check if there are words that are fewer than 6 characters long. There is something missing in the words.some() method call. Fix this method so that true is printed to the console.
So, I’ve returned to the exercise and tried this, and it still did not meet SCT expectations (tho, I’ve moved on, by solving this with method, that meets expectations). And sorry if I’ve misunderstood something. const shortWords = word => word.length < 6; console.log(words.some(shortWords))
hi,
I was able to create the interestingWords, but now as I attempt to call the actual words I end up with an error saying the ‘interestingWords’ is not a function… which to me is… what is wrong here?
What might help is to write a higher order function yourself? You could just write a function to log something:
current value is : 1
current value is : 2
current value is : 3
for example, here is something to help you:
function each(callback, myArray){
// todo, write logic to execute callback and print value from the array
}
function myCallBack(elelemt){
console.log(`the current value is ${element}`);
}
For the first question in the instructions, I have added function with the parameters of word as follows it returns true but will not pass me to the next question, please advise on what, I am doing wrong. I have been stuck for longer than a hour already.