Learn Basic JavaScript by Building a Role Playing Game - Step 105

Im sure that im making a simple mistake. Help?

Sorry, your code does not pass. Don’t give up.

Your sellWeapon function should use the shift() method.

function sellWeapon() {
if (inventory.length > 1) {
gold += 15;
goldText.innerText = gold;
let currentWeapon = shift(inventory[0]);
}
}

WARNING

The challenge seed code and/or your solution exceeded the maximum length we can port over from the challenge.

You will need to take an additional step here so the code you wrote presents in an easy to read format.

Please copy/paste all the editor code showing in the challenge from where you just linked.

Replace these two sentences with your copied code.
Please leave the ``` line above and the ``` line below,
because they allow your code to properly format in the post.

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0

Challenge Information:

Learn Basic JavaScript by Building a Role Playing Game - Step 105

shift is a method that’s part of the array object, so you call it like this:
array.shift()

https://www.w3schools.com/jsref/jsref_shift.asp

2 Likes

still not getting it. when i changed the format to
array.shift() and i place it in the top half of the function it says that it should be in the bottom with currentWeapon but then when i place it with currentWeapon it says that it needs to be with sellWeapon.

1 Like

I figured out what i was doing wrong finally. Thank you for your help.

2 Likes

Can you please advise? This is my current code:

function sellWeapon() {
if (inventory.length > 1) {
gold += 15;
goldText.innerText = gold;
let currentWeapon;
inventory.shift(sellWeapon);
}
}

Hey @whoishieu
Great work so far,.shift is an array method but it does not take any methods so remove the sellWeapon you have passed inside the method

Then you need to assign this to the currentWeapon variable

PS. I would suggest you create your own topic so that you could be helped

Happy coding

Hope you understand

2 Likes

This step has a weird wording, the line should be

[Mod Edit: Solution Removed]

It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.

We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.

1 Like