JavaScript:生成的对象中包含多个对象->;一个物体

JavaScript:生成的对象中包含多个对象->;一个物体,javascript,javascript-objects,Javascript,Javascript Objects,这就是我的对象的外观: ,但我只需要一个像 obj = { var: "DB3,B0", zahl: "DB3,Int2", zahl2: "DB3,Int4", ... ... }; 我如何转换它? 我尝试了不同的方法,但在for循环中都不起作用。 我使用如下代码从字符串生成对象: var text = msg.payload; var nt = text.split(" "); var n = nt.leng

这就是我的对象的外观:
,但我只需要一个像

obj = {
       var: "DB3,B0",
       zahl: "DB3,Int2",
       zahl2: "DB3,Int4",
       ...
       ...
      };
我如何转换它? 我尝试了不同的方法,但在for循环中都不起作用。 我使用如下代码从字符串生成对象:

var text = msg.payload;
var nt = text.split(" ");
var n = nt.length;
var add = [];
var name = [];
var ab = [];
var variables = {};



for (var i = 0; i < n; i++) {

    ab[i] = nt[i].split(";");
    add[i] = ab[i][0];    
    name[i] = ab[i][1];
    variables[i] = {[name[i]] : add[i]};
}




msg.payloadvars = variables;
return msg;

您可以将字符串按组拆分,然后按值和键拆分

var string='DB3,B0;变量DB3,Int2;扎尔DB3,Int4;zahl2 DB3,Int6;zahl3 DB3,Int8;zahl4 DB3,Int10;扎尔5',
target=Object.assign(
…string.split(“”).map(s=>([v,k])=>({[k]:v}))(s.split(';'))
);

控制台日志(目标)如果要创建单个对象,则应尝试以下操作:

var variables = {};

for (var i = 0; i < n; i++) {

    ab[i] = nt[i].split(";");
    add[i] = ab[i][0];    
    name[i] = ab[i][1];
    variables[name[i]] = add[i];
}
console.log(variables);
var变量={};
对于(变量i=0;i
使用

let str=“DB3,B0;var DB3,Int2;zahl DB3,Int4;zahl2 DB3,Int6;zahl3 DB3,Int8;zahl4 DB3,Int10;zahl5”;
让obj=str.split(“”)。reduce((a,c)=>{
设v=c.拆分(“;”);
赋值(a,{[v[1]]:v[0]});
返回a;
}, {});

控制台日志(obj)你能把你开始的代码作为实际代码发布吗?我读取了一个csv文件,其中包含一个字符串,如DB3,B0;变量DB3,Int2;扎尔DB3,Int4;zahl2 DB3,Int6;zahl3 DB3,Int8;zahl4 DB3,Int10。。。。。。将其拆分并命名for循环中的属性。。我将给出一个输出示例时刻你能添加一些测试/示例输入(我猜通常在
msg.payload
中是什么)吗?不应该是:变量[name[i]]:添加[i]以获得你想要的对象吗?如果我写target=object.assign({},object.values(variables));我得到了和以前一样的输出..请将源对象添加到问题中,而不是它的图像。Nikhil得到了解决方案,但无论如何,感谢您,对象代码看起来就像您编写的{“0”:{“var”:“DB3,B0”},“1”:{“zahl”:“DB3,Int2”},“2”:{“zahl2”:“DB3,Int4”},“3”:{“zahl3”:“DB3,Int6”},“4”:{“zahl4”:“DB3,Int8”},我不知道……你有什么,你想要什么?
var variables = {};

for (var i = 0; i < n; i++) {

    ab[i] = nt[i].split(";");
    add[i] = ab[i][0];    
    name[i] = ab[i][1];
    variables[name[i]] = add[i];
}
console.log(variables);