首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JS: Turn CSV字符串,to: Object (map)

JS: Turn CSV字符串,to: Object (map)
EN

Stack Overflow用户
提问于 2021-05-25 10:03:37
回答 1查看 27关注 0票数 0

如何编写一个纯JS。

要转换CSV字符串,请执行以下操作:

代码语言:javascript
复制
col1,col2\na,b\nc,d

到这个对象结构中:

代码语言:javascript
复制
{"a":["a","b"],"c":["c","d"]...}

因此,它可以通过例如: Obj.c引用来返回:

代码语言:javascript
复制
["c","d"]

试着转身:"col1,col2\na,b\nc,d";

放入一个数组中:[['a','b'],['c','d']];

调用这个:CSVToArray("col1,col2\na,b\nc,d",",", true);

代码语言:javascript
复制
const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
data.slice(omitFirstRow ? data.indexOf("\n") + 1 : 0).split("\n").map(v => v.split(delimiter));

如何将"col1,col2\na,b\nc,d";转换为可读的引用对象结构(通过每行的第一项)?

代码语言:javascript
复制
var Obj =  {
               "a":["a","b"],
               "c":["c","d"],
               ...
           }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-25 10:10:01

使用Object.fromEntries()[key, value]数组转换为具有key: value属性的对象。

代码语言:javascript
复制
const CSVToObject = (data, delimiter = ",", omitFirstRow = false) =>
  Object.fromEntries(data.split("\n").slice(omitFirstRow ? 1 : 0).map(v => {
    let fields = v.split(delimiter);
    return [fields[0], fields];
  }));

console.log(CSVToObject("col1,col2\na,b\nc,d", ",", true));

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67680822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档