首页 > 解决方案 > 每次循环更改变量

问题描述

嗨,我有一个非常简单的问题。我需要在每个循环中从我的状态中获取一个新值。在第一个循环中,我需要绑定到 varCase.intro1 -> 接下来我需要绑定到 varCase.intro2 等等。我知道如何更改我试图从中创建的对象中的键,但我不确定如何动态更改值。

如果您有一个解决方案,我不需要创建每个循环的常量,这也是首选(因为我在完整对象中有很多键)。

谢谢。

我试过像这样设置它 const intro = [varCase.intro + i] 但它返回 NaN (我想这是有道理的)。

const { varCase, formCount } = this.state;

for (let i = 1; i <= formCount; i++) {
    const intro = varCase.intro[i];
}

const obj = {
    ['diff' + i]: {intro: intro}

标签: javascriptreactjsecmascript-6

解决方案


当您知道密钥时,您可以使用.它从对象中获取值。当密钥是动态的时,您可以使用[]. 例子varCase["intro"+i];

const { varCase, formCount } = this.state;
let finalObj = {}

for (let i = 1; i <= formCount; i++) {
    finalObj["diff" + i] = {intro : varCase["intro"+i]}
}

console.log(finalObj);

在您给出的示例中,您正在introfor 循环中创建变量。这不能在外面访问。

更新了阅读您的评论的答案。您可以根据需要修改 finalObj


推荐阅读