angular - 在 Angular 中显示对象数组中的字段名称
问题描述
只需要在数组的每一行中显示包含的列名
例如:从控制台
this.GobalTableDataSets
(3) [{…}, {…}, {…}]
0: {centerName: "--", batchName: "MentorSchedule_5D5C", scheduleStartDate: "20-Nov-2019 14:38:17", scheduleEndDate: "20-Dec-2019 14:38:17", …}
1: {centerName: "--", batchName: "MentorSchedule_2657", scheduleStartDate: "20-Nov-2019 10:29:46", scheduleEndDate: "20-Dec-2019 10:29:46", …}
2: {centerName: "--", batchName: "Enroll_cf845bd8-43", scheduleStartDate: "18-Jul-2019 18:32:00", scheduleEndDate: "31-Jul-2019 21:28:00", …}
length: 3
组件.ts
this._liveDashboardService.getBatchDetails(orgReqDetailsEx ).subscribe(response => {
if (response !== null && response.length > 0 && response !== null) {
this.batchDetails = response;
}
});
预期结果:
this.GobalTableDataSets[0].<someFunction>
"centerName"
"batchName"
"scheduleStartDate"
"scheduleEndDate"
这里的要求是仅控制台包含来自每行的上述数组的列名(全部或特定名称),但不一定显示/获取包含数组中相应列名的列值
Angular 是否有任何内置函数来完成上述场景?
解决方案
只需使用Object.keys()
:
let keys = Object.keys(this.batchDetails[0]);
console.log(keys);
工作示例:
var list = [
{centerName: "--", batchName: "MentorSchedule_5D5C", scheduleStartDate: "20-Nov-2019 14:38:17", scheduleEndDate: "20-Dec-2019 14:38:17"},{centerName: "--", batchName: "MentorSchedule_2657", scheduleStartDate: "20-Nov-2019 10:29:46", scheduleEndDate: "20-Dec-2019 10:29:46"}
,{centerName: "--", batchName: "Enroll_cf845bd8-43", scheduleStartDate: "18-Jul-2019 18:32:00", scheduleEndDate: "31-Jul-2019 21:28:00"}
];
console.log(Object.keys(list[0]));
推荐阅读
- javascript - 如何将窗口 ppi 与屏幕 ppi 匹配?
- c# - 如何检测何时可以安全升级我的 Windows 服务?
- excel - 使用 VBA-Excel 获取工作表上的值 ID 以编辑或更新另一个工作表中的列表中的数据
- python - 合并以相同字母开头的 pandas DataFrame 列
- ios - 如何编译与 UIKit For Mac/Catalyst 一起使用的第 3 方库?
- android - 从 Kotlin 布局中删除项目
- ios - 具有自定义 UITableViewCell 的单个 ViewController 中的多个 UITableView
- android - 以沉浸式模式显示 BottomSheetDialogFragment
- ios - 为什么在第一次关闭时不需要“self”?
- ios - 如何在 ios 应用程序中跨所有视图控制器跟踪用户位置?