You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多对象数组的值提取为Angular ngFor可遍历的数组?

解决方案

首先修正原数组的语法问题(对象属性名需加引号,否则在严格模式下会抛出语法错误):

const obj_Array = [
  {"Information": {"ID": 1, "Name": "Frank"}},
  {"Route": {"Direction": "north", "Time": "10:50:24"}},
  {"Music": {"volume": "loud", "input": "3.5mm"}}
];

提取值生成目标数组

使用数组的flatMap结合Object.values方法,快速提取所有嵌套对象的值并转为字符串类型:

const String_Array = obj_Array.flatMap(item => {
  // 获取每个元素中的嵌套子对象(如Information对应的内容)
  const innerObject = Object.values(item)[0];
  // 提取子对象的所有值并转为字符串
  return Object.values(innerObject).map(value => String(value));
});

执行后得到的String_Array即为你需要的格式:

["1","Frank","north","10:50:24","loud","3.5mm"]

关于遍历报错的说明

你遇到的"数组无法遍历"问题,大概率是原数组存在语法错误(未给对象属性名加引号),导致JS引擎无法正确解析为数组;或是遍历方式有误(比如错误使用for...in遍历数组,而非for...of或数组原生方法)。修正语法后用上述方法处理,就能得到可被*ngFor直接使用的扁平数组,无需额外处理即可在Angular Material Table中展示。

内容的提问来源于stack exchange,提问作者Hoonin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 08:17:13