"2019-05-14 描述 把数组中的对象转换成以指定符号分割的值(CSV),且这些值仅包含了 columns 中所指定的。 提示 创建表头:使用 Array.prototype.join(delimiter) 组合 columns 中的所有值 使用 Array.prototype.map() 和 Array.prot .."

Array - JSONtoCSV (advanced)

2019-05-14

描述

把数组中的对象转换成以指定符号分割的值(CSV),且这些值仅包含了 columns 中所指定的。

提示

代码

const JSONtoCSV = (arr, columns, delimiter = ',') =>
  [
    columns.join(delimiter),
    ...arr.map(obj =>
      columns.reduce(
        (acc, key) => `${acc}${!acc.length ? '' : delimiter}"${!obj[key] ? '' : obj[key]}"`,
        ''
      )
    )
  ].join('\n');

示例

以纯文本形式存储数组对象中仅包含 a 和 b 的表格数据:

JSONtoCSV([{ a: 1, b: 2 }, { a: 3, b: 4, c: 5 }, { a: 6 }, { b: 7 }], ['a', 'b']); // 'a,b\n"1","2"\n"3","4"\n"6",""\n"","7"'
JSONtoCSV([{ a: 1, b: 2 }, { a: 3, b: 4, c: 5 }, { a: 6 }, { b: 7 }], ['a', 'b'], ';'); // 'a;b\n"1";"2"\n"3";"4"\n"6";""\n"";"7"'

返回总目录

每天 30 秒系列之 JavaScript 代码

  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    374 引用 • 983 回帖 • 993 关注
  • 30Seconds

    精选的常见前端问题集,帮助您踏踏实实走好每一步。

    英文原文请看 30-seconds

    167 引用 • 204 回帖 • 3 关注
  • 代码
    148 引用 • 433 回帖 • 1 关注
感谢    关注    收藏    赞同    反对    举报    分享
回帖    
请输入回帖内容...