JavaScript array to CSV

后端 未结 9 879
不知归路
不知归路 2020-12-02 06:23

I\'ve followed this post How to export JavaScript array info to csv (on client side)? to get a nested js array written as a csv file.

The array looks like:



        
9条回答
  •  无人及你
    2020-12-02 07:07

    const escapeString = item => (typeof item === 'string') ? `"${item}"` : String(item)
    
    const arrayToCsv = (arr, seperator = ';') => arr.map(escapeString).join(seperator)
    
    const rowKeysToCsv = (row, seperator = ';') => arrayToCsv(Object.keys(row))
    
    const rowToCsv = (row, seperator = ';') => arrayToCsv(Object.values(row))
    
    const rowsToCsv = (arr, seperator = ';') => arr.map(row => rowToCsv(row, seperator)).join('\n')
    
    const collectionToCsvWithHeading = (arr, seperator = ';') => `${rowKeysToCsv(arr[0], seperator)}\n${rowsToCsv(arr, seperator)}`
    
    
    // Usage: 
    
    collectionToCsvWithHeading([
      { title: 't', number: 2 },
      { title: 't', number: 1 }
    ])
    
    // Outputs: 
    "title";"number"
    "t";2
    "t";1
    

提交回复
热议问题