从类型类数组Angular 7的数组访问数据



在此处输入图像描述在此处输入图像描述

我已经声明了一个subject[]类型的数组,并从api中获取信息,并将subject推送到Arr数组中。我的控制台看起来像附件中的图像。我想使用angular访问主题,当我尝试使用这个.subject[0]时,它返回undefined。

因此,它不是数组中的一个数组,我需要一些帮助来访问这些数据,我将使用它从chart js在图上动态创建标签。

Arr: Subject [] = new Array();

loadSubjects() {
this.ss.getSubjects().subscribe(( subject: Subject[]) => {
this.subject = subject;
for (let i = 0; i < this.subject.length; i++) {
this.subjArray.push(this.subject[i]['name']);
}
});
}

这可以使用映射函数来完成

点击此处查看Plunker解决方案

还添加了以下代码:

this.list1 = [
{Name: "abc", Capacity: "150", Series: "20", Make: "150", Model: "150", TowerHeight: "151"},
{Name: "def", Capacity: "250", Series: "250", Make: "250", Model: "252", TowerHeight: "250"},
{Name: "ghi", Capacity: "151", Series: "21", Make: "151", Model: "151", TowerHeight: "152"}
];

this.list2 = this.list1.map(item => { return item.Name});

在你的情况下,我认为它会像一样

this.subjArray = this.subject.map(item => { return item.name});

输出

列表1:

[
{
"Name": "abc",
"Capacity": "150",
"Series": "20",
"Make": "150",
"Model": "150",
"TowerHeight": "151"
},
{
"Name": "def",
"Capacity": "250",
"Series": "250",
"Make": "250",
"Model": "252",
"TowerHeight": "250"
},
{
"Name": "ghi",
"Capacity": "151",
"Series": "21",
"Make": "151",
"Model": "151",
"TowerHeight": "152"
}
]

列表2:

[ "abc", "def", "ghi" ]

这也可以通过for循环来完成。但是,对于需要在数组中获得单个属性值的图表数据场景,映射在角度上会更简单

最新更新