【问题标题】:How to select a variable by a substring with JavaScript如何使用 JavaScript 通过子字符串选择变量
【发布时间】:2021-06-16 21:49:24
【问题描述】:

我有 10 多个 javascript 变量,每次刷新页面时它们都会发生变化。
我想选择这个变量:

var layer_control_e69649c5e9f941908fcc3173d4dee734 = {
  base_layers: {},
  overlays: {
    "Roads": geo_json_e8253853662b46f985f09f9f27be4df9,
    "Intersections": feature_group_d2005a626dee4cb6ac241e03e5110145,
  },
};

只有layer_control 不会改变。每次刷新页面时,字符串e69649c5e9f941908fcc3173d4dee734 都会更改。我想使用常量字符串layer_control 选择这个变量。

我怎样才能做到这一点?

【问题讨论】:

  • 你为什么要标记python

标签: javascript variable-names


【解决方案1】:

您能否详细介绍一下这个变量是如何创建的以及您打算如何使用它?如果没有更多信息,我只是建议将变量直接从输入流推送到数组中。然后你可以直接指向变量的位置而不是知道名称。

【讨论】:

    【解决方案2】:

    一种方法是使用正则表达式模式将test() 用于适当范围内的变量名。下面,我是 filtering global object (this) 以“layout_control_”开头的键。

    var layer_control_e69649c5e9f941908fcc3173d4dee734 = {
      base_layers: {},
      overlays: {
        "Roads": "test",
        "Intersections": "test",
      },
    };
    
    var varname = Object.keys(this).filter(
      key => /^layer_control_/.test(key)
    )[0];
    
    console.log(varname);
    console.log(this[varname] ?? 'n/a');

    参考见:
    Get all Javascript Variables?

    【讨论】:

      猜你喜欢
      • 2022-08-17
      • 2021-08-07
      • 1970-01-01
      • 2022-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      相关资源
      最近更新 更多