碎片时间学编程「50]:将逗号分隔值 (CSV) 字符串转换为二维对象数组

将逗号分隔值 (CSV) 字符串转换为二维对象数组。字符串的第一行用作标题行。

用Array.prototype.indexOf()查找第一个换行符 ( \n)。

用Array.prototype.slice()删除第一行(标题行)并将String.prototype.split()其分隔为值,使用提供的delimiter.

用String.prototype.split()为每一行创建一个字符串。

用String.prototype.split()提供的 . 分隔每行中的值。

用Array.prototype.reduce()为每一行的值创建一个对象,键从标题行解析。

省略第二个参数 ,delimiter使用 , 默认分隔符。

const CSVToJSON = (data, delimiter = ',') => {

  const titles = data.slice(0, data.indexOf('\n')).split(delimiter);

  return data

    .slice(data.indexOf('\n') + 1)

    .split('\n')

    .map(v => {

      const values = v.split(delimiter);

      return titles.reduce(

        (obj, title, index) => ((obj[title] = values[index]), obj),

        {}

      );

    });

};

更多内容请访问:https://www.icoderoad.com

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容