如何使用 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
输出: