如何在Javascript函数中将函数变量的值分配为变量名

时间:2019-05-10 19:26:09

标签: javascript

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

在下面的代码中,对于测量变量,我希望变量名称“ 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}} 

1 个答案:

答案 0 :(得分:2)

您可以将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));