📌  相关文章
📜  如何使用 JavaScript 将 CSV字符串文件转换为二维对象数组?

📅  最后修改于: 2022-05-13 01:56:27.566000             🧑  作者: Mango

如何使用 JavaScript 将 CSV字符串文件转换为二维对象数组?

CSV是带有.csv扩展名的逗号分隔值文件,它允许以表格格式保存数据。

在这篇文章中,我们将学习转换一个 CSV字符串到二维对象数组,其中字符串的第一行是使用JavaScript的标题行。

使用 JS.f 将逗号分隔值 (CSV)字符串给定到二维数组

Input: 'Name,Roll Number\nRohan,01\nAryan,02' 

Output:  [
             {Name: "Rohan", Roll Number: "01"},
             {Name: "Aryan", Roll Number: "02"}
        ]
// With delimiter ;    
    
Input: 'Name;Roll Number\nRohan;01\nAryan;02' 
        
Output:    [
             {Name: "Rohan", Roll Number: "01"},
             {Name: "Aryan", Roll Number: "02"}
        ]    

我们必须知道一些在这方面会有所帮助的数组和字符串原型函数。

indexOf函数: String.prototype.indexOf()函数在给定字符串中查找参数字符串第一次出现的索引,返回的值在基于 0 的索引中。

例子:

str = 'How\nare\nyou?' 

str.indexOf('\n');

输出:

3

Slice函数: Array.prototype.slice()方法返回一个新数组,其中包含实现它的数组的一部分,并且原始数组保持不变。

例子:

['a','b','c','d'].slice(1)

输出:

['b','c','d']

地图函数: Array.prototype.map() 方法返回一个新数组,其中包含在每个元素上调用提供的函数的结果。

例子:

arr = [2, 4, 8, 16]

// Dividing each element of the array by 2
newArr = arr.map( item => item/2) 

输出:

[1, 2, 4, 8]

分割函数: String.prototype.split()方法用于将给定字符串拆分为字符串数组,方法是使用参数中提供的指定分隔符将其分成子字符串。

例子:

str = "Geeks for Geeks"

// Split the array when ' ' is located
arr = str.split(' ');

输出:

[ 'Geeks', 'for', 'Geeks' ]

减少函数: JavaScript 中的Array.prototype.reduce()方法用于将数组缩减为单个值,并从左到右为数组的每个元素执行提供的函数,并将函数的返回值存储在累加器中。

例子:

arr = [2,4,6,8]
 
 // Here 0 is the initial value of the accumulator
 // while traversing, currentValue has been added
 
 arr.reduce(function(accumulator,currentValue){
     return accumulator+currentValue;
 },0)

输出:

20

方法:

  • JavaScript字符串slice()方法提取字符串的一部分并将提取的部分返回到一个新字符串中,将 '\n' 作为第一次出现。
  • 数据值使用“\n”作为分隔符存储。
  • JavaScript map()函数将遍历 title values 数组的所有值并将每个对象附加到数组的末尾
  • “storeKeyValue”变量用于存储每个键及其各自的值。

例子:

Javascript


输出: