数组高级选择代码实现(碎片时间学编程)
数组高级选择代码实现(碎片时间学编程)
将逗号分隔值 (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