我有动态数据输入我的应用程序,数据结构相同,但是属性名称发生更改时报告。我正在尝试编写一个函数,该函数将接受输入到函数的属性变量的值并将其分配为变量名。
在下面的代码中,对于测量变量,我希望变量名称“ 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}}
答案 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));