字符串到数组 (object) Angular TS 12
String to array (object) Angular TS 12
我有一个 CSV 文件(本地),将其转换为字符串,部分字符串如下:
44,"3845657"
51,"3847489"
1,"3888510"
79,"3840471"
57,"3864492"
收到输入数字(第一个值)后,我想将其与第二个值(字符串)匹配。
所以如果输入是 51,我希望能够 return 3847489。
csv 中没有 headers。
CSV 到字符串:
fetchData() {
fetch('../../../assets/static/mapping.csv')
.then(response => response.text())
.then(data => {
// Do something with your data
console.log(data);
this.mappingCSV = data;
});
}
输出:
44,"3845657"
51,"3847489"
1,"3888510"
79,"3840471"
57,"3864492"
也欢迎其他将 csv 转换为数组的方法 objects,不要与我的 csv 转字符串方法结合。
我在此示例中使用的是 HTTPClient,它是 Angular 中可用的内置服务 class。这里how使用Angular的HTTPClient,让你阅读了解它的好处。
在我的 .ts 文件中,我首先为任何换行符拆分文本转换的 csv。然后我添加了一个循环,其中我用逗号分隔文本并将必要的详细信息推送到新的 csvArray。
export class SampleComponent {
public csvArr: CsvArray[] = [];
constructor(private http: HttpClient) {
this.http.get('assets/csv.csv', {
responseType: 'text'
}).subscribe(
(data) => {
const csvToRowArray = data.split('\n');
console.log(csvToRowArray);
for (let index = 0; index < csvToRowArray.length; index++) {
const row = csvToRowArray[index].split(',');
this.csvArr.push(new CsvArray(parseInt(row[0], 10), row[1]));
}
console.log(this.csvArr);
},
(error) => {
console.log(error);
}
);
}
}
export class CsvArray {
id: number;
text: string;
constructor(id: number, text: string) {
this.id = id;
this.text = text;
}
}
我创建了一个 stackblitz 以便您可以检查我的实现。
我有一个 CSV 文件(本地),将其转换为字符串,部分字符串如下:
44,"3845657"
51,"3847489"
1,"3888510"
79,"3840471"
57,"3864492"
收到输入数字(第一个值)后,我想将其与第二个值(字符串)匹配。
所以如果输入是 51,我希望能够 return 3847489。 csv 中没有 headers。
CSV 到字符串:
fetchData() {
fetch('../../../assets/static/mapping.csv')
.then(response => response.text())
.then(data => {
// Do something with your data
console.log(data);
this.mappingCSV = data;
});
}
输出:
44,"3845657"
51,"3847489"
1,"3888510"
79,"3840471"
57,"3864492"
也欢迎其他将 csv 转换为数组的方法 objects,不要与我的 csv 转字符串方法结合。
我在此示例中使用的是 HTTPClient,它是 Angular 中可用的内置服务 class。这里how使用Angular的HTTPClient,让你阅读了解它的好处。
在我的 .ts 文件中,我首先为任何换行符拆分文本转换的 csv。然后我添加了一个循环,其中我用逗号分隔文本并将必要的详细信息推送到新的 csvArray。
export class SampleComponent {
public csvArr: CsvArray[] = [];
constructor(private http: HttpClient) {
this.http.get('assets/csv.csv', {
responseType: 'text'
}).subscribe(
(data) => {
const csvToRowArray = data.split('\n');
console.log(csvToRowArray);
for (let index = 0; index < csvToRowArray.length; index++) {
const row = csvToRowArray[index].split(',');
this.csvArr.push(new CsvArray(parseInt(row[0], 10), row[1]));
}
console.log(this.csvArr);
},
(error) => {
console.log(error);
}
);
}
}
export class CsvArray {
id: number;
text: string;
constructor(id: number, text: string) {
this.id = id;
this.text = text;
}
}
我创建了一个 stackblitz 以便您可以检查我的实现。