JavaScript对象:如何使键的值成为另一个键(而不是键的值)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (193)

有没有办法以编程方式将密钥的值设置为另一个密钥?例如

export function getObjectForMapStateToProps(state, reducer) {
    let stateObject = {};
    for (let key in state[reducer]) {
        if (state[reducer].hasOwnProperty(key)) {
            stateObject[key] = state[reducer][key];
        }
    }
    return stateObject;
}

目标是返回一个对象,其中每个键值对都是这样的:

namespace: state.city.namespace

我实际得到的是state.city.namespace键的VALUE:

namespace: 'DIskieisSi98s8sjw'.
提问于
用户回答回答于

只需将结果字符串化,而不是再次访问该对象。

代替:

stateObject[key] = state[reducer][key];

使用:

stateObject[key] = `state.${reducer}.${key}`;

扫码关注云+社区

领取腾讯云代金券