Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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_Arrays_Reactjs_Ecmascript 6 - Fatal编程技术网

Javascript 如何创建逗号分隔元素的对象

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

我正在开发一个CSV解析器,在这里我有数组中的数据,比如

["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 }));