0

I have the following problem using javascript (using node.js and mongoose): I have 2 objects, the first object_1 = {"title": "Equipment 1", "description": "My equipment 1"} and the second object_2 = {"title": "Equipment 2", "description": "My gear 2"}. The problem I'm having is that I'm trying to overwrite my second object with the information from the first, and I'm using the following code for this:

for (let i in object_1) {
    object_2.i = object_1.i;
}

And the problem I see happening, is that the index variable "i" inside the loop is not being "attached" when I search for object_2.i and object_1.i.

I tested it outside the loop and my code works very well, I would like to know how I use this 'for' loop index in this case?

2
  • I'm not sure what you're question is. Are you aware of the Object.assign function? Commented Feb 28, 2022 at 4:43
  • Oh my God, I didn't know him, he worked perfectly for me! Thank you very much! I'm already using this command that passed! Commented Feb 28, 2022 at 4:47

2 Answers 2

2

The i inside the loop returns "object_index" as a string. What you're doing in this code is object_2."title" = object_1."title" which will fail because you can't access the key inside an object like this. You have to use it like object_1[i] = object_2[i] and it should work. One other way of handling this is object_1 = {...object_1, ...object_2} without having to do a for loop.

Sign up to request clarification or add additional context in comments.

1 Comment

it worked for me too! I ended up choosing to use the Object.assign() command. Thank you!
1

The other answer is the real answer, but I also wanted to point out that another way to attain your desired functionality is to use Object.assign, which is supported by more browsers as compared to the spread operator (...):

Object.assign(object_1, object_2);

1 Comment

yes, I didn't know this command, it worked perfectly for me! Thank you!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.