Javascript 如何在循环中记录不同的状态元素

Javascript 如何在循环中记录不同的状态元素,javascript,reactjs,state,Javascript,Reactjs,State,我试图在我的状态中循环使用两个键值对。它们的名字非常相似,唯一的区别是一个在白天结束,另一个在晚上结束。下面是我现在的项目的一个简化示例。我的目标是让日志显示以下结果: state = { energyType: "Electricity", meterRate: "oneRate", firstEnergyAmountDay: 1, firstEnergyAmountNight: 2, } let days if (t

我试图在我的状态中循环使用两个键值对。它们的名字非常相似,唯一的区别是一个在白天结束,另一个在晚上结束。下面是我现在的项目的一个简化示例。我的目标是让日志显示以下结果:

state = {
        energyType: "Electricity",
        meterRate: "oneRate",
        firstEnergyAmountDay: 1,
        firstEnergyAmountNight: 2,
    }

let days

if (this.state.energyType === "Electricity" && this.state.meterRate === "twoRate") {
            days = ["Day", "Night"]
        } else {
            days = ["Day"]
        }

        days.map(day => {
            console.log(this.state.firstEnergyAmount + day);
        })
现在我的日志刚刚返回:

未定义

未定义的光

我想让日志告诉我:

一,


2要计算对象的属性,需要使用方括号和字符串

console.log(this.state["firstEnergyAmount" + day])

因此,这将把字符串连接在一起,生成
“FirstEnergyMountDay”
“FirstEnergyMountNight”
,然后方括号将使用该键查找属性。

非常感谢!这正是我所希望的解决方案!