JavaScript 中 for 循环内的对象索引

Object index inside for loop in JavaScript

我在使用 javascript 时遇到以下问题(使用 node.js 和 mongoose): 我有 2 个对象,第一个 object_1 = {"title": "Equipment 1", "description": "My equipment 1"} 和第二个 object_2 = {"title": "Equipment 2", "description": "My gear 2"}。 我遇到的问题是我试图用第一个对象的信息覆盖我的第二个对象,为此我使用了以下代码:

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

我看到的问题是,当我搜索 object_2.iobject_1.i.

时,循环内的索引变量“i”没有被“附加”

我在循环外测试了它并且我的代码运行良好,我想知道在这种情况下我如何使用这个 'for' 循环索引?

循环里面的i returns "object_index"作为一个字符串。您在此代码中所做的是 object_2."title" = object_1."title" ,这将失败,因为您无法像这样访问对象内的密钥。您必须像 object_1[i] = object_2[i] 一样使用它,它应该可以工作。另一种处理方法是 object_1 = {...object_1, ...object_2} 而无需执行 for 循环。

另一个答案是真正的答案,但我还想指出另一种获得所需功能的方法是使用 Object.assign,与传播运算符相比,它得到更多浏览器的支持( ...):

Object.assign(object_1, object_2);