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.i
和 object_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);
我在使用 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.i
和 object_1.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);