【问题标题】:Javascript - concatenation of object variables from string [duplicate]Javascript - 从字符串连接对象变量[重复]
【发布时间】:2023-03-23 05:55:01
【问题描述】:

请帮忙

我们有对象:

let obj = {
hasError: {
    income_manager: {
      signatory_id: false,
    }
  },
};

和字符串:

let halfObject = "income_manager.signatory_id";

如何将字符串与对象拼接以写入新值?

示例:

let variable = halfObject.split('.')

obj.hasError[variable[0]][variable[1]] = true;

但是看起来不太好。你有更漂亮的例子吗?

【问题讨论】:

  • “不好”是什么意思?如果您将that 替换为obj,它看起来对我来说应该可以正常工作。 (不知道that 来自哪里。)
  • 也许你更喜欢解构赋值,例如:let [a, p] = e.split('.'); c.r[a][p] = true

标签: javascript string object concatenation


【解决方案1】:

试试这个:

let obj = {
  hasError: {
    income_manager: {
      signatory_id: false
    }
  }
};

let halfObject = "income_manager.signatory_id";

let variable = halfObject.split('.');

obj.hasError[variable[0]][variable[1]] = true;

console.log(obj.hasError[variable[0]][variable[1]]);

【讨论】:

  • 似乎和 OP 已经拥有的一样?还是他们在您发布后将其添加到他们的问题中?
  • @Felix Kling 是的,除了他们引用“that”而不是“obj”。
  • 我明白了。但我认为这并不能真正解决 OP 问题。
  • 是的。我知道这一点,但我正在尝试另一种方法。更漂亮)
猜你喜欢
  • 2013-11-10
  • 2014-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2016-02-24
  • 2018-06-21
相关资源
最近更新 更多