js 给定 csv 文件,转换成对象结构,提供测试用例,并补充 typescript 函数签名 inte
时间: 2024-03-07 09:48:05 浏览: 128
好的,我了解了你的要求。以下是一个 TypeScript 函数,可以将给定的 CSV 文件解析成对象数组:
```typescript
interface CsvObject {
[key: string]: string;
}
function parseCsv(csv: string): CsvObject[] {
const rows = csv.trim().split('\n');
const headers = rows.shift()!.split(',');
return rows.map(row => {
const values = row.split(',');
return headers.reduce((obj, header, i) => {
obj[header] = values[i];
return obj;
}, {} as CsvObject);
});
}
```
这个函数接受一个 CSV 字符串作为参数,并返回一个对象数组,其中每个对象表示 CSV 中的一行数据。
这里是一个示例测试用例:
```typescript
const csv = 'name,age,city\nAlice,25,New York\nBob,30,San Francisco\n';
const expected = [
{ name: 'Alice', age: '25', city: 'New York' },
{ name: 'Bob', age: '30', city: 'San Francisco' },
];
console.log(parseCsv(csv)); // 输出 expected 数组
```
这个函数的 TypeScript 函数签名如下:
```typescript
function parseCsv(csv: string): CsvObject[];
```
其中 `CsvObject` 是一个字符串索引类型,表示一个键值对集合。
阅读全文