angular - 从服务数据中提取数据到对象
问题描述
伙计们,我必须从我对另一个对象的响应中提取数据以使用它来过滤数据,但我发现每一刻
无法设置未定义的属性“全名”
那我该怎么做呢?
我的模型:
export interface ExportArray {
FullName: string;
DepartmentName
DriverName
CurrentCarType
CurrentCarModelString
CurrentModelYear
CurrentFuelTypeEnum
FuelContainerCapacity
MileageFloat
}
我的组件:
let prepare: ExportArray[] =[];
let index = 0;
this.Listtrackigobjct.forEach(e=>{
prepare[index].FullName = e.FullName;
prepare[index].DepartmentName = e.FullName;
prepare[index].DriverName = e.DriverName;
prepare[index].CurrentCarType = e.CurrentCarType;
prepare[index].CurrentCarModelString = e.CurrentCarModelString;
prepare[index].CurrentModelYear = e.CurrentModelYear;
prepare[index].CurrentFuelTypeEnum = e.CurrentFuelTypeEnum;
prepare[index].FuelContainerCapacity = e.FuelContainerCapacity;
prepare[index].MileageFloat = e.MileageFloat;
index ++;
});
console.log(prepare);
解决方案
问题是,您还没有初始化对象。您通过索引直接访问数组元素,但数组中没有这样的元素。
您可以执行以下操作 -
this.Listtrackigobjct.forEach(e=>{
// This is the initialization step
const tempObj = {} as ExportArray;
tempObj.FullName = e.FullName;
tempObj.DepartmentName = e.FullName;
.....
.....
prepare.push(tempObj);
});
这里不需要索引变量。Push 将在数组末尾插入新对象。
推荐阅读
- laravel - 将变量传递给同一个控制器得到错误“函数的参数太少”
- angular - 如何在 Angular 中访问可变的嵌套 JSON 数据模型
- python - 如何将一个函数的参数返回到另一个函数?
- python - 如何为 PuLP 中的成本优化制定矩阵约束
- html - 如何在悬停时更改角度材质按钮背景颜色?
- jquery - 创建自定义导出按钮表export
- image - Syncfusion Xamarin '值不能为空。参数名称:添加图片时的stream'
- postgresql - 如何合并(分组)属于同一会话的行
- javascript - 在蛇游戏中随机更改食物的背景图像
- asp.net-core - SQL插入查询转换为C#添加记录