期望返回的数据
// 期望返回这样的数据结构
[
{
name: 'Bob',
age: '30',
parent: [
{
name: 'David',
age: 60
}
],
children: [
{
name: 'Anna',
age: 10,
parent:[
{
name: 'Bob',
age: '30',
}
]
}
]
}
]
简单版本
const csv = `
name,age,parent
Bob,30,David
David,60,
Anna,10,Bob
`;
function strTransformObj(str) {
const firstArr = str.split(/\n|\r/g);
firstArr.pop();
firstArr.shift();
const secondArr = firstArr.map((strItem) => {
return strItem.trim().split(",");
})
return [{
name: secondArr[1][0],
age: secondArr[1][1],
parent: [{
name: secondArr[2][0],
age: secondArr[2][1],
}],
children: [{
name: secondArr[3][0],
age: secondArr[3][1],
parent: [{
name: secondArr[1][0],
age: secondArr[1][1],
}]
}]
}]
console.log(secondArr);
}
console.log(strTransformObj(csv));
TS高阶版本(未开发)