Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点红色:使用可变键/标识符创建消息_Javascript_Json_Node Red - Fatal编程技术网

Javascript 节点红色:使用可变键/标识符创建消息

Javascript 节点红色:使用可变键/标识符创建消息,javascript,json,node-red,Javascript,Json,Node Red,有这样一条信息: [ { "source_id": 1, "alias": "myalias1", }, { "source_id": 2, "alias": "myalias2", } ] [ { "myalias1": 1,

有这样一条信息:

[
    {
        "source_id": 1,
        "alias": "myalias1",
    },
    {
        "source_id": 2,
        "alias": "myalias2",
    }
]
[
    {
        "myalias1": 1,
    },
    {
        "myalias2": 2,
    }
]
我想把它变成这样的信息:

[
    {
        "source_id": 1,
        "alias": "myalias1",
    },
    {
        "source_id": 2,
        "alias": "myalias2",
    }
]
[
    {
        "myalias1": 1,
    },
    {
        "myalias2": 2,
    }
]
为此,我使用以下函数:

var result = [];
var str = "";

for(var i = 0; i < msg.payload.length; i++)
{  
    var alias = msg.payload[i].alias;
    var src = msg.payload[i].source_id;
    result.push({ alias : src });
}

msg.options = result;
return msg;

在“result.push({alias:src});”行中,我尝试用作标识符(var别名)的所有内容都将被解释为字符串,即使没有撇号。如何使用变量的值作为消息中的标识符?

您需要使用方括号表示法从变量向对象添加键

var result = [];
var str = "";
for(var i = 0; i < msg.payload.length; i++)
{  
    var alias = msg.payload[i].alias;
    var src = msg.payload[i].source_id;
    var entry = {}
    entry[alias] = src
    result.push(entry);
}

msg.options = result;
return msg;
var结果=[];
var str=“”;
对于(var i=0;i