【问题标题】:How to assign a function variable's value as a variable name within a Javascript function [duplicate]如何在Javascript函数中将函数变量的值分配为变量名[重复]
【发布时间】:2019-05-11 03:33:29
【问题描述】:

我有动态数据进入我的应用程序,数据结构是相同的,但报告的属性名称的名称发生了变化。我正在尝试编写一个函数,该函数将接受属性变量输入到函数的值并将其分配为变量名。

在下面的代码中,对于测量变量,我希望变量名称“tag”是函数的“tagName”输入的值。 感谢我能得到的任何帮助!谢谢!

function iotcjson(device, tagName, value) {

  var data = {
    device: { deviceId: device },
    measurements: { tag: value }
  }

  return data
}

考虑tagName的值为“温度”

实际结果:

{"device":{"deviceId":"device1"},"measurements"{"tag":11.2}}

期望的结果:

{"device":{"deviceId":"device1"},"measurements"{"temperature":11.2}} 

【问题讨论】:

标签: javascript


【解决方案1】:

您可以通过computed property name 获取想要的结果。

对于device,您可以直接取deviceId后面的属性名称,并将此变量插入为short hand property

function iotcjson(deviceId, tagName, value) {
   var data = {
       device: { deviceId },
       measurements: { [tagName]: value }
    };
    return data;
}

console.log(iotcjson('device1', 'temperature', 11.2));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2018-05-11
    • 2013-01-03
    • 1970-01-01
    • 2016-12-02
    • 2021-11-15
    • 1970-01-01
    相关资源
    最近更新 更多