function pairElement(str) {
// [A,] push "T", [T,] push "A", [C,] push "G", [G,] push "C"
// Each letter in original str needs to be turned into it's own array
let string = str.split("");
for (let i = 0; i < string.length; i += 1); {
string.push();
}
return string;
}
console.log(pairElement("GCG"));
I think I have a good idea of what needs to happen, but I don’t know where to go from here. Can someone help me out without giving me the answer?
You want to return a new array that consists of sub arrays containing two letters. The first letter you already know. You need to add the second letter (the first letter’s pair). So you’ll need to create a new array and push the sub arrays to that new array.
I have played around with this problems for over a day now and I am still getting nowhere. It’s crazy how with unlimited resources (excluding taking the easy way out and looking at answers)…I still can’t come up with a solution. I am struggling to get my code to understand that each letter in the original array needs to be turned into its own subarray and push the letter linked to it at the end
Yea no problem. It has changed a lot throughout today.
function pairElement(str) {
let string = str.split("");
let newArr = [{"A":"T","T":"A","C":"G","G":"A"}]
var pairs = [];
for (let i = 0; i < string.length; i += 1); {
if (newArr == string) {
pairs.push(sub.array(newArr))
}
}
return pairs;
}
console.log(pairElement("GCG"));
Hey there again,
I would suggest not to spend so much time on one problem as you can get into rabbit holes you didnt want to end up before. Try to google, navigate to the help section with tips. Help section
console.log your function and see for yourself what is the output:
console.log(pairElement("GCG"))
you will get an empty array and thats because of the condition again. I would suggest to stop going forward and go back to basics about objects, arrays, loops, es6, if else conditions etc.
Or, if you still insist on pushing forward, make this:
for each challenge you have failed, write down the correct ways how to do it from the hints section and repeat these every day like your life depends on it. Each day - start on your own, if you can remember, if not after 3 mins open your notes, memorize and rewrite and go on the next one. Eventually the ahaa moment will come
Telling people to try for 3 minutes then try to memorize answers is terrible advice. Programming is about working through problems to develop solutions. It’s ok to take your time and it’s ok to talk to other people to get their guidance on problems. Memorization won’t really help build useful programming skills.
Hello Jeremy,
Thank you for your input,
I did write that because I assumed that he is too far for what he understands and he wanted to just move forward. My first choice was that he gets back and studies more about the basics.
For the first question, I just want to make sure I understand correctly. You’re saying can I make a for loop that takes everything in the given str and returns it split into individual letters that aren’t connected? So if a string is "GCG" the loop would return [ 'G', 'C', 'G' ]. Or are you asking me to make a loop that returns each letter as it’s own array…like ["G"],["C"],["G"]?
Ahhhh yes, so basically within the loop, I would add if statements for each letter?
function pairElement(str) {
let dnaPairs = [];
for (let i = 0; i < str.length; i += 1) {
if (str[i] === "A") dnaPairs.push([str[i],"T"]);
if (str[i] === "T") dnaPairs.push([str[i],"A"]);
if (str[i] === "C") dnaPairs.push([str[i],"G"]);
if (str[i] === "G") dnaPairs.push([str[i],"C"]);
}
return dnaPairs;
}
console.log(pairElement("GCG"));