【问题标题】:JS: Turn CSV string, to: Object (map)JS:将 CSV 字符串转为:对象(地图)
【发布时间】:2021-08-13 06:36:40
【问题描述】:

如何编写纯 JS。

转换 CSV 字符串:

col1,col2\na,b\nc,d

进入这个对象结构:

{"a":["a","b"],"c":["c","d"]...}

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

["c","d"]

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

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

打电话给这个:CSVToArray("col1,col2\na,b\nc,d",",", true);

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"; 转换为可读的引用对象结构(按每行的第一项)?

var Obj =  {
               "a":["a","b"],
               "c":["c","d"],
               ...
           }

【问题讨论】:

    标签: javascript arrays object multidimensional-array


    【解决方案1】:

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

    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));

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-02
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      • 2022-06-13
      • 2023-01-12
      • 1970-01-01
      相关资源
      最近更新 更多