@ArielLeslie I don't know, honestly. Most of the time I understand what FCC is asking me to do at that very moment but sometimes even on the next step, I completely forget what I just learned in the previous step. I don't know if I'm just not understanding it, or my memory is shot or what.

@AliMusa8790 For one thing, you're probably cramming a lot into your head at a fast pace. That might mean you're retaining less and it would be a good idea to slow it down and really play with each new thing you learn to help it sink in before moving on. Another thing is just that a huge part of learning to program is just repetition. Using tools and skills over and over in slightly different ways until they become second nature

@ArielLeslie you're probably right about the cramming. But I was under the impression that you continue doing the steps every day for as long as possible, step by step until you reach the end? Am I just approaching this all wrong?

If value is non-blank (value !== "") and prop is not "tracks" then update or set the value for the prop.If the prop is "tracks" and value is non-blank, push the value onto the end of the tracks array.If value is blank, delete that prop.What's wrong?

@AliMusa8790 It's not wrong per se. The important thing is not to move forward until you really "get" what you just did, even if that makes you slower. This isn't like school where you just want to pass everything and call it done. You're here because you want to learn and understand, so you're only shortchanging yourself by rushing. Sometimes you just need to give your brain time to absorb too. After something particularly tricky: have a snack, go for a walk, try for a good poop, play with a dog.

Question: I'm on bonfire 'Repeat a string repeat a string' - you're given a string and a number of times you're supposed to repeat said string. Is it best to make the string into an array or is it better to simply manipulate the string w/o converting it?

Hi friends, got stuck on challenge "Using Objects for Lookups" today. Eventually google'd my way into this solution which worked. Can anyone confirm whether I got the correct solution or just an inelegant workaround. In particular my result = lookup[val]; part. Was there a better way to return the correct thing?

after the switch statement create an if statement below--->from instruction-.---------->The function will then return a string with the current count and the string "Bet" if the count is positive, or "Hold" if the count is zero or negative. The current count and the player's decision ("Bet" or "Hold") should be separated by a single space.

Can anyone speak to what I'm doing wrong in the card counting function? How do you get the count to appear with "Bet" or "Hold"? if (count > 0) { return "Bet"; } if (count <= 0 ) { return "count Hold"; }

ok so first I am trying to identify non-alphanumeric and also I need to understand if I substract 13 or add 13 to the code. My guess by reading the wiki link is that I have to add when the unicode is below 13

well ... I just ran the solution of symmetric difference provided in the wiki ... and it doesn't work!(it seems to leave duplicated numbers in the answer, as well as having the order of the numbers in the last test case different, and so doesn't pass ... )

leaves me with a few questions about the meaning of symmetric difference !!!

tryin' to figure out where the discrepancy is ... the different solutions on stackexchange also seem to not be completely consistent with the solutions in the test cases (they seem to be okay with dup numbers...) ... and finding a good def of sym difference (like, does the order the numbers are returned matter ?)

Yeah, I wrote some code which worked for the first test case ... then couldn't figure out how to pull .reduce into the problem ...

that's very tempting, @dcnr ... maybe later this week ... I've been looking at symmetric difference for too long atm ... need to hit my head up against something a bit fresher ... I think that section of my brain needs a bit of vacation ...

@EHunt -- I stick nearly everything in there .. but I don't use copy & paste web pages much, since I have the free version ... and I figure if I primarily just use text, I can use it forever ... LOL ...

exceptions are fb chats ... because copying fb chats into text is NOT useful at all ... can't even tell who is talking ...

Also, have been interested in looking at OneNote ... especially since microsoft made it free ..

@dee-one There are two thing you need to think about: How are you going to multiply product by something and update the value of product - there is an operator that does that for you. The second thing is what is it that you're multiplying by? You need to access the array arr using bracket notation to view the ith jth value

@joannesalfa Source may have more than one key . . . and ALL of the keys must exist and match for an object to be kept. Right now you return the new object a soon as a key is found. I think you need to return true

@joannesalfa Hi I've been typing this so I don't know the current developments but maybe you can get something out of it:

collection is an array of objects

source is an object containing the properties we need to find in the objects in collection

We must return only the objects that has all the properties of source

One approach is to filter collection using Array.filter() and we are to keep the items that has all of source's properties.

That would mean that in our .filter() function:

We need to get all the properties (aka keys) of source

We need to test our collection's object against all of sources properties to make sure that the object has the property, and that their values match.

Some pseudocode:

filtered = collection.filter(function(object_being_tested){
for each property in source
check object_being_tested if has property
iffalsereturnfalseiftrue check if same value
iffalsereturnfalse
end forreturntrue// object_being_tested has all property and equivalent values
});
return filtered;

Explanation

Our goal for this bonfire is to split arr (first argument) into smaller chunks of arrays with the length provided by size (second argument). There are 4 green checks (objectives) our code needs to pass in order to complete this bonfire:

(['a', 'b', 'c', 'd'], 2) is expected to be [['a', 'b'], ['c', 'd']]

([0, 1, 2, 3, 4, 5], 3) is expected to be [[0, 1, 2], [3, 4, 5]]

([0, 1, 2, 3, 4, 5], 2) is expected to be [[0, 1], [2, 3], [4, 5]]

([0, 1, 2, 3, 4, 5], 4) is expected to be [[0, 1, 2, 3], [4, 5]]

Click More information under the bonfire title and read the helpful links if you haven't yet.

Problem Explanation:

This task requires us to look at each possible permutation of a string. This is best done using a recursion function. Being able to build a function which collects all permutations of a string is a common interview question, so there is no shortage of tutorials out there on how to do this, in many different code languages.

This task can still be daunting even after watching a tutorial. You will want to send each new use of the function 3 inputs: 1. a new string (or character array) that is being built, 2. a position in your new string that's going to be filled next, and 3. an idea of what characters (more specifically positions) from the original string have yet to be used. The pseudo code will look something like this:

```var str = ???;perm(current position in original string, what's been used in original string, current string build thus far){if(current string is finished) { print current string;}else{ for(var i = 0; i < str.length; i++) {

if(str[i] has not been used) {
put str[i] intothe current position;
mark str[i] as used
perm(current position in original string, what's been used in original string, current string build thus far)
unmark str[i] as used because another branch inthe tree for i + 1 will still likely use it;
}

Hello all - for exercise #210, Accessing Nested Arrays, is there another way to complete the problem besides "var secondTree = myPlants[1].list[1];"? This gives me the thumbs up, but I figured there'd be a myPlants.trees.list way that also works somehow.

@Masd925 The reason I ask is because the example shows: ourPets.cats[1]; // "Fluffy". And the previous exercise shows ourStorage.cabinet["top drawer"].folder2; I feel like I'm cheating when I do MyPlants[1].list[1]

@Masd925 Ah, still nothing. So if I am looking at the JSON, it seems collection[id].album = "Album title" works to set the value, where album is the prop and the album title is the value. My problem is that I can't seem to set it in the function update(id,prop,value)