Javascript 如何创建逗号分隔元素的对象
我正在开发一个CSV解析器,在这里我有数组中的数据,比如Javascript 如何创建逗号分隔元素的对象,javascript,arrays,reactjs,ecmascript-6,Javascript,Arrays,Reactjs,Ecmascript 6,我正在开发一个CSV解析器,在这里我有数组中的数据,比如 ["Jonas", "Sched ", "jonas@sch.com", "ph:34988934", "data 1,data 2", "data 3,data 4", "data 5, data 6"] 我想要实现的是,我想要创建数组元素的对象数组,该数组包含逗号(,) 预期结果: let a
["Jonas", "Sched ", "jonas@sch.com", "ph:34988934", "data 1,data 2", "data 3,data 4", "data 5, data 6"]
我想要实现的是,我想要创建数组元素的对象数组,该数组包含逗号(,
)
预期结果:
let array= ["Jonas", "Sched ", "jonas@sch.com", "ph:34988934", items:[{name:data 1, temp:data
2},{name:data 3, temp:data 4},{name:data 5, temp:data 6}]
第一步是从原始阵列中提取内容。这可以通过以下方式完成: 注意
…itemCsvs
;它将前四项之后剩余的任何内容分解为一个变量名为itemCsvs
的数组
itemCsvs
中的每个项目看起来像逗号分隔的对。可以使用这些字符串的名称将其转换为字符串数组:
const itemPairs = itemCsvs.map(str => str.split(','));
itemPairs
现在是字符串数组的数组
[
["data1", "data2"],
["data3", "data4"],
["data5", "data6"]
]
然后,将这些对象转换为对象就像再次映射一样简单:
const items = itemPairs.map(([name, temp]) => ({ name, temp }));
现在你只需重新组装部件。要更紧凑地组合事物:
const originalData=[
“乔纳斯”,“希德”jonas@sch.com“,”ph:34988934“,
“数据1,数据2”,“数据3,数据4”,“数据5,数据6”
];
常量[姓名、公司、电子邮件、电话等项CSV]=原始数据;
常数结果={
姓名、公司、电子邮件、电话、,
条目:itemCsvs.map(条目=>{
const[name,temp]=item.split(',');
返回{name,temp};
})
};
控制台日志(结果)代码>您的预期输出在语法上无效。你的意思是,例如,{name:“data 3”,temp:“data 4”}
?还有,您尝试过什么,它到底有什么问题?实际上,我正在解析CSV数据,我想用逗号分隔符(data1,data2)表示对象数据。最后,我将把它转换成{name:data 1,temp:data 2)。我想读取字符串中的逗号分隔符。你能帮助我如何从带有逗号分隔符的字符串中创建对象吗,如“data1,data2”
,具体哪一部分你有问题?你知道如何检查字符串是否有逗号分隔符(恰好是一个吗?)逗号在?如何分割它?更具体一点,给出一个你到目前为止拥有的数组。谢谢你的回复。如果我们有多个数组,就像我们昨天讨论的那样。我需要用多个数组来适应这个例子。我想用同样的逻辑来创建一个数组,像{dataItems:[{……,items:[…]},{……,items:[]}]
。您能帮我在数组映射中运行与另一个问题相同的逻辑吗。
const items = itemPairs.map(([name, temp]) => ({ name, temp }));